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 ?
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral