Em 19 de fevereiro de 2016 09:45, Osvaldo Kussama <[email protected]
> escreveu:

> Em 18/02/16, André Ormenese<[email protected]> 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,
também não rolou  !!!

Obrigado.
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a