[firebase-br] Dúvida em SELECT
andre conrado
acf.andre em gmail.com
Qua Ago 10 12:19:56 -03 2011
di cara, eu acho que se vc inverter a posição das tabelas resolve. Afinal,
se vc que mostrar todos os grupo, então a tabela dos grupo deveria vir
primeiro e a de venda por último.
abçs
Em 10 de agosto de 2011 11:26, Renato Braun <renato_braun em uol.com.br>escreveu:
> 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.
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
--
Um Abraço,
André Conrado.
055 21 9176-7013 - Claro
Mais detalhes sobre a lista de discussão lista