Ver Mensaje Individual
  #3 (permalink)  
Antiguo 18/01/2011, 04:27
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: INNER JOIN con tres tablas y función SUM

Código MySQL:
Ver original
  1. SELECT articulos.idArticulo,
  2.              articulos.nombre,
  3.              IFNULL(sbcimagenes.imagen,"noimagen.jpg") as img,
  4.              IFNULL(SbCVisitas.SuVisitas,0) AS Visitas
  5. FROM (articulos
  6.                LEFT JOIN
  7.                   (SELECT img1.idArticulo,
  8.                                 img1.imagen
  9.                       FROM imagenes AS img1
  10.                    INNER JOIN
  11.                     (SELECT idArticulo,
  12.                                   Min(idImagen) AS MidImagen
  13.                        FROM imagenes
  14.                        GROUP BY idArticulo) AS img2
  15.                     ON img1.idImagen = img2.MidImagen) AS sbcimagenes
  16.                 ON articulos.idArticulo = sbcimagenes.idArticulo)
  17.                 LEFT JOIN (SELECT estadisticas.idarticulo,
  18.                                                SUM(estadisticas.visitas) as SuVisitas
  19.                                       FROM estadisticas
  20.                                       GROUP BY estadisticas.idarticulo) AS SbCVisitas
  21.                  ON articulos.idArticulo = SbCVisitas.idarticulo;

Creo!! Vaya seguro.

Crea una imagen llamada noimagen.jpg para los que no tengan!!!

Nota; jurena eres más rápido que yo!!!
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 18/01/2011 a las 06:09 Razón: Corregido