[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