Fórum Select Cross Tab #402237
02/06/2011
0
Boa noite galera, eu preciso fazer um relatório CrossTAB, mas para isso eu preciso de uma instrução SQL correta. Estou utilizando firebird2.1 e Delphi2010 e RaveReport ou QuickReport;
Bom, vou tentar explicar o relatorio.
O relatório se resume em listar os produtos da tabela produto e as quantidades vendidas dos respectivos produtos de cada vendedor na horizontal, e os vendedor os nomes dos vendedores na vertical.
Ex:
Minhas tabelas:
Meu select é esse:
Mas não dar certo. Alguem pode me ajudar;
Bom, vou tentar explicar o relatorio.
O relatório se resume em listar os produtos da tabela produto e as quantidades vendidas dos respectivos produtos de cada vendedor na horizontal, e os vendedor os nomes dos vendedores na vertical.
Ex:
Minhas tabelas:
Meu select é esse:
select cx_vendedor.cxven_id, cx_itens.cxven_id, cx_itens.ven_qtde, cx_itens.prod_id, cx_itens.vend_id, cx_vendedor.dt_caixa, cx_vendedor.ven_total, produtos.prod_id, produtos.abreviacao, vendedor.vend_nome from cx_itens inner join cx_vendedor on (cx_itens.cxven_id = cx_vendedor.cxven_id) inner join vendedor on (cx_vendedor.vend_id = vendedor.vend_id) inner join produtos on (cx_itens.prod_id = produtos.prod_id)
Mas não dar certo. Alguem pode me ajudar;
Sidney Abreu
Curtir tópico
+ 0
Responder
Posts
03/06/2011
Wilson Junior
Todas as suas FK's são NOT NULL? Se não for, tente utilizar o OUTER JOIN, coloquei um exemplo abaixo.
Espero ter colaborado.
SELECT cxv.cxven_id, cxi.cxven_id, cxi.ven_qtde, cxi.prod_id, cxi.vend_id, cxv.dt_caixa, cxv.ven_total, prod.prod_id, prod.abreviacao, vend.vend_nome FROM CX_ITENS cxi INNER JOIN PRODUTOS prod ON (cxi.Prod_ID = prod.Prod_ID) LEFT OUTER JOIN CX_VENDEDOR cxv ON (cxi.cxven_ID = cxv.cxven_ID) LEFT OUTER JOIN VENDEDOR vend ON (cxv.Vend_ID = vend.Vend_ID)
Espero ter colaborado.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)