[firebase-br] Duvida Sql

Sandro Souza escovadordebits em gmail.com
Qua Dez 10 19:13:40 -03 2008


Bom dia/tarde pessoal.

Só complementando a resposta de nosso amigo Cleber que respondeu de forma
excelente essa questão.

Falta fazer o relacionamento dos subselects com o select externo, caso
contrário, vai gerar produtos cartesianos.

Minha sugestão é a seguinte (com base no SELECT criado por Cleber):

SELECT DISTINCT
  A.PRODUTO,
  (SELECT SUM(B.QUANTIDADE) FROM PRODUTOS B WHERE B.PRODUTO =
A.PRODUTO)QUANTIDADE,
  (SELECT SUM(B.QUANTIDADE) FROM PRODUTOS B WHERE(B.PRODUTO =
A.PRODUTO)AND(B.TAMANHO='P'))P,
  (SELECT SUM(B.QUANTIDADE) FROM PRODUTOS B WHERE(B.PRODUTO =
A.PRODUTO)AND(B.TAMANHO='M'))M,
  (SELECT SUM(B.QUANTIDADE) FROM PRODUTOS B WHERE(B.PRODUTO =
A.PRODUTO)AND(B.TAMANHO='G'))G
FROM
  PRODUTOS A

2008/12/10 Cleber <cleber em agrosoftrs.com.br>

> com subselects vc consegue:
> select produto,
>      (
>       select sum(quantidade) from produtos
>       where produto = produto
>      ) as Quantidade,
>      (
>       select sum(quantidade) from produtos
>       where produto = produto and Tamanho = 'P'
>      ) as P,
>      (
>       select sum(quantidade) from produtos
>       where produto = produto and Tamanho = 'M'
>      ) as M,
>      (
>       select sum(quantidade) from produtos
>       where produto = produto and Tamanho = 'G'
>      ) as G
> from produtos
>
> ----- Original Message ----- From: "Haroldo Dias" <haroldo em delfa.com.br>
> To: <lista em firebase.com.br>
> Sent: Wednesday, December 10, 2008 5:32 PM
> Subject: [firebase-br] Duvida Sql
>
>
>
>  Boa tarde
>>
>> Tenho a seguinte situação nos registros:
>>
>> PRODUTO   TAMANHO  QUANTIDADE
>> TESTE1             P                100
>> TESTE1             M               200
>> TESTE1             G                150
>>
>> Gostaria de gerar uma consulta Sql que me moste o resultado assim:
>>
>> PRODUTO  QUANTIDADE         P          M           G
>> TESTE1                          450      100       200         150
>>
>> É possível?
>>
>>
>>
>>
>>
>>
>>
>
>
> --------------------------------------------------------------------------------
>
>
> ______________________________________________
> 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
>
> ______________________________________________
> 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
>



Mais detalhes sobre a lista de discussão lista