[firebase-br] Dúvida em SELECT
Renato Braun
renato_braun em uol.com.br
Qua Ago 10 11:26:50 -03 2011
Bom dia a todos, segue abaixo algumas tabelas do meus sistema e ao final a
dúvida.
GRUPO
GRP_ID GRP_DESCR
1 Idade
2 Espécie
SUBGRUPO
SG_ID SG_GRUPO(FK) SG_DESCR
1 1 Filhote
2 1 Adulto
3 1 Senior
4 2 Cachorro
5 2 Gato
6 2 Outros
PRODUTO
PROD_ID PROD_DESCR
1 Ração A
2 Ração B
3 Ração C
4 Ração D
PRODSUBGRUPO
PSG_PRODUTO PSG_GRUPO PSG_SUBGRUPO RESULTADO
1 1 1 Ração A = Idade-Filhote
1 2 4 Raçao A = Espécie-Cahorro
2 1 2 Ração B = Idade-Adultro
2 2 5 Ração B = Espécie-Gato
3 1 1 Ração C = Idade-Filhote
3 2 5 Raçao C = Espécie-Gato
4 1 3 Ração D = Idade-Senior
4 2 4 Raçao D = Espécie-Cachorro
Uma ração pertence a cada um dos grupos cadastrados porém com vinculo apenas
a um único sub-grupo de cada grupo
Tenho a tabela de vendas que resumindo tem
VENDA
VEN_ID VEN_DATA VEN_VENDEDOR VEN_PRODUTO(FK) VEN_QTDE VEN_PRECO
1 01/01/2011 Vend 1 1 10 20,00
2 01/01/2011 Vend 1 2 20 15,00
3 01/01/2011 Vend 2 1 5 20,00
4 01/01/2011 Vend 2 3 6 15,00
Preciso montar uma consulta que tenha como resultado o total de vendas por
vendedor e por sub-grupo (dado o grupo principal), porém tenho que mostrar
todos os sub-grupo do grupo mesmo que não tenham tido vendas. OBS: a tabela
de vendas é gigantesca, a de grupo vai ter uns 15 registros e para cada
grupo terá uns 5 sub-grupos.
Utilizo a seguinte consulta, porém não me retornar todos os sub-grupos do
grupo 1, neste caso não tive venda de produto 4-Ração D que pertence ao
grupo 1 (idade) e sub-grupo 3 (senior) e preciso que o mesmo seja
apresentado vendedor a vendedor com o total 0
SELECT VEN_VENDEDOR DESCR, SG_DESCR,
SUM( VEN_QTDE * VEN_PRECO ) PRECO
FROM VENDA
LEFT JOIN PRODSUBGRUPO ON PSG_GRUPO = 1 AND PSG_PRODUTO = VEN_PRODUTO
LEFT JOIN SUBGRUPO ON PSG_SUBGRUPO = SG_ID
GROUP BY 1,2
Obrigado a todos.
Mais detalhes sobre a lista de discussão lista