Ver Mensaje Individual
  #25 (permalink)  
Antiguo 02/05/2014, 05:15
Avatar de el_javi
el_javi
 
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años, 1 mes
Puntos: 10
Respuesta: Mega Consulta - Serían 252 conslutas - como optimizarlo

Hola jurena.

Cierto es que la agrupación por nombre de material y de aplicación sobra.
Lo arrastré de pruebas.

Mi consulta, con los añadidos de "no mostrar elementos borrados" sería así:

Código MySQL:
Ver original
  1. SELECT t_applications.APPLICATION_ID, t_applications.APPLICATION_name_spanish, t_materials.MATERIAL_ID, t_materials.MATERIAL_name_spanish, count(t_products_materials.PRODUCT_ID) TOTAL_PRODUCTS
  2. FROM t_applications CROSS JOIN t_materials
  3. LEFT JOIN t_products_applications ON t_products_applications.APPLICATION_ID = t_applications.APPLICATION_ID
  4. LEFT JOIN t_products_materials ON t_products_materials.PRODUCT_ID = t_products_applications.PRODUCT_ID AND t_products_materials.MATERIAL_ID = t_materials.MATERIAL_ID
  5. WHERE t_materials.MATERIAL_options_erased=0 AND t_applications.APPLICATION_options_erased=0
  6. GROUP BY t_applications.APPLICATION_ID, t_materials.MATERIAL_ID
  7. ORDER BY t_applications.APPLICATION_name_spanish ASC, t_materials.MATERIAL_name_spanish ASC

Mi consulta genera 252 resultados


La tuya, tal cual, genera 504, pero metiéndole las cláusulas de elementos borrados, se queda en 252


Los resultados, comparados uno con otros son exactamente los mismos (lo he mirado bien a fondo)


Me quedo con mi primera opción, por evitar el tema de "subconsultas"


Gracias de nuevo