[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