[firebase-br] Duvida Sql
Cleber
cleber em agrosoftrs.com.br
Qui Dez 11 09:48:51 -03 2008
Usa o exemplo do case, disparado a melhor opção.
Vai fazer menos leituras, com isso teoricamente ficará alem de mais legivel
mais rápido.
----- Original Message -----
From: "Haroldo Dias" <haroldo em delfa.com.br>
To: <lista em firebase.com.br>
Sent: Thursday, December 11, 2008 9:40 AM
Subject: Re: [firebase-br] Duvida Sql
> Legal pessoal, os dois exemplos funcionaram bem, mas qual seria mais
> rápido na prática analisando pelos comandos utilizados?
>
> Não tenho como testar na prática pois minha base de dados ainda vai
> alimentada, tenho poucos registros apenas para testes de funcionamento.
>
> O primeiro exemplo é mais enxuto, e como não tem sub-selects não geram
> tantos PLANS, acredito que seja o melhor a usar, ou ainda existe outra
> opção?
>
> SELECT DISTINCT
> CODIGO,
> SUM(CASE WHEN TAMANHO = 'P' THEN QUANTIDADE ELSE 0 END) AS P,
> SUM(CASE WHEN TAMANHO = 'M' THEN QUANTIDADE ELSE 0 END) AS M,
> SUM(CASE WHEN TAMANHO = 'G' THEN QUANTIDADE ELSE 0 END) AS G
> FROM PRODUTO
>
> 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
>
>
>
>
>
--------------------------------------------------------------------------------
______________________________________________
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