Bom dia,

 

Bom...

Estou com uma duvida aqui que, acredito ser bastante elementar...

Mas, eu não consigo ver lógica na minha falha... talvez alguém aqui com mais
experiência ou seguindo outras linhas de raciocínio saiba ver onde eu tô
errando...

 

Seguinte,

Tem duas tabelas de débitos com estrutura bastante similar e eu preciso
relacionar as duas.

 

Se eu faço o seguinte:

A consulta abaixo retorna o seguinte:

select *
  from (select dlt.id_loja, dlt.id_debito_codigo, dlt.id_sub_codigo,
dlt.data data, dlt.valor
           from debito_loja_turqueza dlt
         union
         select dl.id_loja, dl.id_debito_codigo, dl.id_sub_codigo, dl.data
data, dl.valor
           from debito_loja dl) dl
 where dl.data = '05/02/2007'
   and dl.id_debito_codigo = 5

 

SQL> 

 

   ID_LOJA ID_DEBITO_CODIGO ID_SUB_CODIGO DATA             VALOR

---------- ---------------- ------------- ----------- ----------

         8                5            44 05/02/2007        89,9

 

 

E a consulta abaixo

select *
  from (/*select dlt.id_loja, dlt.id_debito_codigo, dlt.id_sub_codigo,
dlt.data , dlt.valor
           from debito_loja_turqueza dlt
         union*/
         select dl.id_loja, dl.id_debito_codigo, dl.id_sub_codigo, dl.data ,
dl.valor
           from debito_loja dl) dl
 where dl.data = '05/02/2007'
   and dl.id_debito_codigo = 5;

 

retorna o seguinte:

SQL> 

 

   ID_LOJA ID_DEBITO_CODIGO ID_SUB_CODIGO DATA             VALOR

---------- ---------------- ------------- ----------- ----------

         8                5            44 05/02/2007        89,9

         8                5            44 05/02/2007        89,9

 

 

Sendo que esta ultima está correta. 

Existe mesmo duas linhas de debito com um mesmo código de agrupamento de
debito [id_debito_codigo] e valor...

 

 

 

 

Certo...

Daí eu faço a consulta abaixo:

select *
  from (select dlt.id_debito, dlt.id_loja, dlt.id_debito_codigo,
dlt.id_sub_codigo, dlt.data , dlt.valor
           from debito_loja_turqueza dlt
         union
         select dl.id_debito, dl.id_loja, dl.id_debito_codigo,
dl.id_sub_codigo, dl.data , dl.valor
           from debito_loja dl) dl
 where dl.data = '05/02/2007'
   and dl.id_debito_codigo = 5;

 

Onde foi incluído o identificador do a linha do débito [id_debito].

 

SQL> 

 

 ID_DEBITO    ID_LOJA ID_DEBITO_CODIGO ID_SUB_CODIGO DATA             VALOR

---------- ---------- ---------------- ------------- ----------- ----------

     94579          8                5            44 05/02/2007        89,9

     94580          8                5            44 05/02/2007        89,9

 

 

Ou seja, só de incluir o identificador da linha a consulta já apareceu
bonitinho com o union.

 

 

A minha questão é: Por que a primeira consulta não retornou os mesmos dados
da segunda???

E, por que o fato de colocar o identificador fez com que a consulta saísse
certinha???

 

 

Consegui ser claro na questão???

 

 

Atenciosamente,

 

Wellingthon Cristiano Alves de Araújo 
UpDate Tecnologia - (31) 3292-3722 - BH-MG 
Desenvolvimento 

 



[As partes desta mensagem que não continham texto foram removidas]



>Apostilas » Dicas e Exemplos » Funções » Mundo Oracle » Package » Procedure » 
>Scripts » Tutoriais acesse: http://www.oraclebr.com.br/codigo/ListaCodigo.php 
--------------------------------------------------------------------------------------------------------------------------
>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
>responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--------------------------------------------------------------------------------------------------------------------------
>O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/  
------------------------------------------------------------------------------------------------------------------------
  
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 

Responder a