Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/01/2009, 08:00
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 2 meses
Puntos: 574
Respuesta: Optimización de consulta

Código:
SELECT C.Id, C.name, count(*) as total
FROM (packages P 
           LEFT JOIN (`ref_package_to_category` PC 
                               INNER JOIN Categories C 
                               ON PC.Category_Id = C.Id )
          ON P.Id = PC.Package_Id )
          INNER JOIN 
               (SELECT VTP.VulnPack_Id 
                  FROM ref_vuln_to_vulnpack VTP 
                  INNER JOIN vulnerability V 
                  ON VTP.VulnPack_Id = V.Id
                  WHERE PublishedDateTime > 2008-01-01) as VP
ON VP.VulnPack_Id = P.Id
GROUP BY C.Id, C.name
PublishedDateTime de que tabla viene?


Código:
SELECT C.Id, C.name, count(*) as total
FROM (packages P 
             LEFT JOIN 
                   (`ref_package_to_category` PC 
                      INNER JOIN Categories C 
                      ON PC.Category_Id = C.Id )
             ON P.Id = PC.Package_Id )
WHERE P.Id in  (SELECT VTP.VulnPack_Id 
                             FROM ref_vuln_to_vulnpack VTP 
                                  INNER JOIN vulnerability V 
                                  ON VTP.VulnPack_Id = V.Id
                             WHERE PublishedDateTime > 2008-01-01) 
GROUP BY C.Id, C.name
No se ... nos das poca info.... por que el LEFT JOIN? hay pakages sin categoria??...

Quim