Ver Mensaje Individual
  #2 (permalink)  
Antiguo 20/09/2010, 13:56
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Consulta de imagenes

a ver,
primero unes las tablas imagen y producto_galeria, y luego mediante subconsultas haces el right join con la tabla producto. El orden inverso, descendente, sitúa en primer lugar el estado P; el group by deja sólo la primera de todas las imágenes que tengan el mismo id de producto, y la unión con right join permite mostrar todos los productos tengan imágenes o no.
SELECT t1.idp, t1.idpg, t1.imagen, t1.estado FROM (SELECT pg.producto_id idp, pg.producto_imagen_id idpg, i.producto_imagen_thumb imagen, i.producto_imagen_estado estado FROM imagen i INNER JOIN producto_galeria pg ON (i.producto_imagen_id=pg.producto_imagen_id) ORDER BY producto_imagen_estado DESC)t1 RIGHT JOIN producto p ON p.producto_id=t1.idp GROUP BY t1.idp

No lo he probado

Última edición por jurena; 20/09/2010 a las 14:06