Ver Mensaje Individual
  #4 (permalink)  
Antiguo 20/04/2009, 02:21
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 11 meses
Puntos: 574
Respuesta: Como optimizo esta consulta SQL

Código sql:
Ver original
  1. SELECT Referencias.referencia,
  2. Referencias.descripcion,
  3. "Punto Minimo",
  4. "Punto Maximo",
  5. ("Saldo Inicial Mes"+"Entradas Mes"-"Salidas Mes") AS Saldo,
  6. ifnull(sbc.CPM,0) AS 'CPM'
  7. FROM Referencias  LEFT JOIN
  8.       (SELECT TOP 1 ROUND((SUM ("Cantidad")/12),2) AS 'CPM'
  9.        FROM "Historico de Trans" AS HT
  10.        WHERE HT.Bodega = '01'
  11.              AND "Tipo Transaccion" = '17'
  12.              AND (("Anno Documento" = '2009' AND "Mes Documento" < '04' )
  13.                      OR
  14.                  ("Anno Documento" = '2008' AND "Mes Documento" >= '04' ))
  15.         ) AS sbc
  16. ON sbc.Referencia = Referencias.referencia
  17. WHERE Referencias.bodega ='01'


No se si será mejor.... con probar no pierdes nada... si si tendria que ser mas ràpida....

ifnull(sbc.CPM,0) AS 'CPM' no se si tendrás la función IFNULL en tu motor si no cambiala por una equivalente (lo que hace es poner un zero quando la media sea nula)...

Quim