[firebase-br] Duvida Sql

Haroldo Dias haroldo em delfa.com.br
Qui Dez 11 09:40:58 -03 2008


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







Mais detalhes sobre a lista de discussão lista