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.
2016-02-18 17:32 GMT-02:00 André Ormenese <[email protected]>:
> 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
>
--
Matheus Ricardo Espanhol
---------------------------------------
Dextra Sistemas
http://www.dextra.com.br/postgres
www.pganalytics.io
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral