Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: Brida en 3 Marzo 2013, 08:05 am



Título: Duda en juntar dos tablas
Publicado por: Brida en 3 Marzo 2013, 08:05 am
Os comento, por que me gustaría saber cual es la manera más eficiente de hacer esto.

Tengo dos tablas, una llamada comercio, donde tengo un ID, un nombre y una descripción y otra tabla llamada fotos que tiene el ID de la foto, el ID del comercio (relacionado) y el nombre de la imagen. Como es lógico un comercio tiene varias imágenes.

Lo que me gustaría hacer es una consulta para que me saque todos los comercios y que me saque una foto también (realmente no importa).

Yo lo he hecho así, pero no se si estaría bien:

Código
  1. SELECT c.ID, c.nombre, c.descripcion, f.name FROM comercios c LEFT JOIN fotos f ON c.ID=f.comercio GROUP BY c.ID

Y si está bien así, tengo otra pregunta ¿Y si quisiera sacar la foto con el menor ID?

Un saludo y gracias (K).


Título: Re: Duda en juntar dos tablas
Publicado por: moikano→@ en 3 Marzo 2013, 13:55 pm
Hola, creo que la consulta está bien, lo único es que no pones AS para definir el alias de las tablas, no se si funcionará así.

Para mostrar la foto menor tendrías que añadir un ORDER BY y un LIMIT así:

Código:
SELECT c.ID, c.nombre, c.descripcion, f.name FROM comercios c LEFT JOIN fotos f ON c.ID=f.comercio GROUP BY c.ID ORDER BY f.ID ASC LIMIT 1 

Lo único es que no se si te mostrará solo el comercio con la id de foto mas baja o un registro por cada comercio con su id de foto mas baja, tendría que probarlo.