Tente fazer mais ou menos assim: select c.cod_cli, c.nome, (select count(*) from vendas_itens where cod_cli = c.cod_cli and cod_prod = u.cod_prod) as qtde_balcao, (select count(*) from vendas_balcao where cod_cli = c.cod_cli and cod_prod = u.cod_prod) as qtde_balcao from clientes c left join (select cod_prod, cod_cli from vendas_itens union select cod_prod, cod_cli from vendas_balcao) as u on u.cod_cli = c.cod_cli
não deu pra eu testar aqui pois não tenho o banco e estou meio sem tempo. mas tente amadurecer essa idéia acima. Abras > Em 31/03/11, Marcelo Silva (IG)<[email protected]> escreveu: >> Pessoal preciso do seguinte SQL: >> >> Tabela >> CLIENTES >> COD_CLI >> NOME >> >> Tabela Itens >> VENDAS_ITENS >> COD_CLI >> COD_PROD >> QTD >> >> Tabela Balcao >> VENDAS_BALCAO >> COD_CLI >> COD_PROD >> QTD >> >> Preciso trazer todos os clientes que tenha produtos na tabela Itens e Balcao >> com a seguinte estrutura: >> >> COC_CLI NOME COD_PROD QTD_ITENS QTD_BALCAO >> 1234 JOSE XXXX 1 0 >> 1235 MARIA YYYY 4 1 >> >> E assim por diante >> >> Veja que na tabela CLIENTES não tem o campo COD_PROD pra que eu consiga >> separar pro produtos dessa forma se eu fizer pelo Left Join ele vai somar >> tudo eu preciso separar a quantidade de produtos na tabela ITENS e BALCAO >> >> To quebrando a cabeça aqui... alguém pode dar uma luz >> > > Tente fazer um LEFT OUTER JOIN da tabela clientes (USING cod_cli) com > o resultado do FULL OUTER JOIN entre as tabelas itens e balcao (USING > cod_cli e cod_pro). > > Osvaldo > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
