Tengo una duda EXTREMADAMENTE basica, pero son tantos años de programar con
el viejo estilo de joins (uniendo las tablas en el WHERE) que a duras penas
me acostumbre a usar el INNER JOIN cuando si o si hay registros
relacionados.
El problema simplificado es el siguiente.
Una tabla Productos (codigo, descripcion) y una tabla Imagenes (producto,
imagen, esprincipal) en la que productos.codigo = imagenes.producto.
El tema es q no todos los productos tienen imagenes, pero yo los quiero
mostrar de todos modos aunque no las tengan. Eso lo solucionaria con el
LEFT JOIN. Peeero, hay productos q tienen muchas imagenes, y yo solo quiero
mostrar la que esta marcada como "esprincipal"
Probe con el SELECT p.descripcion, i.imagen FROM productos p LEFT JOIN
imagenes i ON (p.codigo = i.producto) WHERE i.esprincipal = 1 y solo me
muestra los productos que si tienen imagen asociada.
Como deberia ser la consulta para obtener TODOS los productos, tengan o no
imagen, y SOLO una linea si tienen muchas imagenes (aquella que esprincipal
= 1)
Desde ya muchas gracias.
Leer las respuestas