Em 18/02/16, André Ormenese<aormen...@gmail.com> escreveu: > Boa tarde pessoal. > > Vou dar um exemplo de consulta em cross-tab que gostaria de fazer, e vejam > se é possível. > > Tenho duas tabelas, uma com código e descrição de produtos do sangue, e > outra que armazena os dados de resultados de bolsas de sangue fracionada. > > Uma bolsa fracionada pode gerar um ou mais produtos. > > A tabela1 tem os dados : > (código, descrição) > 1 - Hemacia > 2 - Plaqueta > 3 - Plasma > > A tabela2 o fracionamento de cada bolsa de sangue : > (bolsa, produto, qtdade) > b1 1 100 > b1 2 135 > b1 3 150 > b2 1 200 > b2 3 167 > > Queria fazer uma consulta que me mostrasse os produtos na coluna correta do > cross-tab, assim : > > Bolsa Hemacia Plaqueta Plasma > b1 100 135 150 > b2 200 167 > > Só consigo este resultado : > Bolsa Hemacia Plaqueta Plasma > b1 100 135 150 > b2 200 167 > > > Estou executando : > > Select * from crosstab ( > 'select bolsa,produto,qtdade from fraciona > inner join tproduto on tproduto.codigo = fraciona.produto > order by bolsa') as resultado("Bolsa","Hemacia","Plaqueta","Plasma"); > > A solução é fazer que a consulta interna do cross-tab gere uma linha assim > : > b2 2 null > > Já tentei com right join mas não funcionou. > > Alguma ideia ? >
Me parece que você deveria utilizar LEFT OUTER JOIN. Osvaldo _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral