On 01/10/2013 11:41, Osvaldo Kussama wrote:
Em 01/10/13, Thiago<zan...@farmaponte.com.br> 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
Osvaldo, boa tarde.
Mas em alguns casos a minha tabela tb_venda vai estar vazia, neste caso
não está trazendo nenhum registro da tabela tb_meta.
Gostaria de trazer todos os registros da tb_meta tendo a tb_venda como
tabela da "esquerda".
No exemplo que dei, tenho 2 registros em cada tabela, mas no caso de não
ter nada na tabela tb_venda (esquerda/principal) não está trazendo nada
da tb_meta (direita).
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral