> 2016-02-18 17:32 GMT-02:00 André Ormenese <aormen...@gmail.com>: > >> 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 ? >> >> >> Em 18 de fevereiro de 2016 22:10, Matheus Ricardo Espanhol < matheusespan...@gmail.com> escreveu:
> André, > > Faltou especificar a ordenação no segundo parâmetro do crosstab e > especificar descrição no lugar do produto: > > Select * from crosstab ( > $$select bolsa,*descricao*,qtdade from > fraciona > inner join tproduto on > tproduto.codigo = fraciona.produto > order by bolsa > $$, > * $$SELECT > unnest(ARRAY['Hemacia','Plaqueta','Plasma'])$$* > ) as resultado ("Bolsa" text,"Hemacia" > int,"Plaqueta" int,"Plasma" int); > > Att. > Matheus, na verdade meu exemplo é mais complexo e esta segunda parte eu monto dinamicamente. Preciso mesmo é uma solução para a primeira parte do crosstab. Valeu a dica. >>
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral