Ver Mensaje Individual
  #14 (permalink)  
Antiguo 28/04/2014, 12:32
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 7 meses
Puntos: 300
Respuesta: Mega Consulta - Serían 252 conslutas - como optimizarlo

el_javi,
ahora no puedo ayudarte con toda la consulta: tal vez algo más tarde. Pero mira esto, esto es a lo que me refiero como producto cartesiano de las tres tablas, aplicaciones, material y productos. Esa consulta (pruébala sola y verás el resultado) la convierto mediante alias en una tabla y luego relaciono con ella las otras tablas.
Código MySQL:
Ver original
  1. SELECT a.APPLICATION_name_spanish, a.APPLICATION_ID, m.MATERIAL_name_spanish, m.MATERIAL_ID, p.PRODUCT_title_spanish, p.PRODUCT_ID
  2. FROM  `t_applications` a, t_materials m, t_products p


Esta otra consulta creo que te saca los datos de un producto en un material y aplicación determinado. Dime si los datos que te saca son correctos. Lo que importa ahora son los números, los identificadores. Luego mostraremos los nombres, por eso no te preocupes
Código MySQL:
Ver original
  1. SELECT p.PRODUCT_ID, IFNULL( COUNT( * ) , 0 ) total, pa.APPLICATION_ID, pm.MATERIAL_ID
  2. FROM `t_products` p
  3. LEFT JOIN t_products_applications pa ON p.PRODUCT_ID = pa.PRODUCT_ID
  4. LEFT JOIN t_products_materials pm ON p.PRODUCT_ID = pm.PRODUCT_ID
  5. GROUP BY pa.APPLICATION_ID, pm.MATERIAL_ID

Última edición por jurena; 28/04/2014 a las 13:24