Em 01/10/13, Thiago<[email protected]> escreveu:
> Bom dia a todos.
>
> Tenho as seguintes tabelas
>
> tb_venda
> loja venda
> 1 10
> 2 20
>
> tb_meta
> loja meta
> 2 40
> 3 60
>
> Eu precisava fazer uma consulta trazendo tudo de tudo, o que cruzar e o
> que não cruzar, para tal fiz o seguinte sql.
>
> select
> coalesce(a.loja,b.loja) as loja,
> coalesce(a.venda,0) as venda,
> coalesce(b.meta,0) as meta
> from tb_venda a
> full outer join tb_meta b on a.loja = b.loja
>
> Como resultado eu teria os seguintes dados:
> loja venda meta
> 1 10 0
> 2 20 40
> 3 0 60
>
> O que fazer quando eu não tenho registros na tabela tb_venda, tenho
> apenas na tabela meta?
>
> Gostaria que viesse o seguinte resultado:
>
> loja venda meta
> 2 0 40
> 3 0 60
>
> Obrigado pela ajuda.
>
Pelo que consegui entender seria:
select
coalesce(a.loja,b.loja) as loja,
coalesce(a.venda,0) as venda,
coalesce(b.meta,0) as meta
from tb_venda a
full outer join tb_meta b on a.loja = b.loja
WHERE a.loja IS NULL;
que corresponde a sua descrição mas que não corresponde a seu exemplo.
Osvaldo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral