Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Condicional

Estas en el tema de Condicional en el foro de Mysql en Foros del Web. Hola amigos. Tengo una duda y no se si realmente se pueda hacer con MySQL, pero tampoco quería quedarme sin preguntar, si no se puede ...
  #1 (permalink)  
Antiguo 04/04/2015, 03:02
 
Fecha de Ingreso: julio-2008
Mensajes: 366
Antigüedad: 15 años, 8 meses
Puntos: 7
Condicional

Hola amigos.

Tengo una duda y no se si realmente se pueda hacer con MySQL, pero tampoco quería quedarme sin preguntar, si no se puede pues ni modo.

Tengo dos tablas: Productos y ImgProductos
Un Productos puede tener n Imágenes y las imágenes solo pueden tener un productos.
Entre todas las imágenes que puede tener un producto, solo puede tener una imagen principal, que es la imagen que se muestra como caratula del productos las otras son parte de una galería, la imagen principal puede ser cualquiera de las que imágenes que pertenezcan al productos.

¿Como puedo saber cual es la imagen principal?
Simple, la tabla ImgProductos tiene un campo princpal de tipo bool donde el registro con 1 es el principal

hasta aqui no hay problema pues es un simple INNER JOIN

Código MySQL:
Ver original
  1. SELECT * FROM productos AS P
  2. INNER JOIN imgproductos AS I
  3. ON P.IdProducto = I.IdProducto
  4. WHERE P.IdEmpresa = 1
  5. AND I.Principal  = 1

Pero, puede ser que el producto no tenga ninguna imagen principal y se tome como imagen principal cualquiera de las que tiene.


Mi pregunta es como puedo hacer que me traiga siempre una imagen, es decir si hago ejecuto la consulta que esta arriba: si hay un producto que no tenga una imagen principal no me va a regresar ese registro y yo lo necesito, en otras palabras si no tiene imagen principal que me regrese cualquiera de las que tiene.


Productos
+--------------+--------------+
| Field | Type |
+--------------+--------------+
| IdProducto | int(11) |
| IdEmpresa | int(10) |
| PNombre | varchar(200) |
+--------------+--------------+



ImgProductos
+------------+-------------+
| Field | Type |
+------------+-------------+
| IdImagen | int(11) |
| IdProducto | int(10) |
| Imagen | text |
| Principal | tinyint(1) |
+------------+-------------+

Etiquetas: campo, condicional, registro, select, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:21.