Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/01/2013, 23:09
tabam
 
Fecha de Ingreso: octubre-2010
Ubicación: Uruguay
Mensajes: 23
Antigüedad: 13 años, 6 meses
Puntos: 1
Pregunta Limitar consulta a tablas relacionales

Hola, estoy haciendo un sitio para una inmobiliaria y tengo un problemita.

Resulta que tengo 3 tablas:



LOCALIDADES, donde se almacenan todas las ciudades donde hay viviendas a la venta.

INMUEBLES, con los datos de todos los inmuebles, si están a la venta o alquiler, cantidad de dormitorios, baños etc etc…

IMÁGENES, se guardan varias imágenes pertenecientes a cada una de los inmuebles.

Como pueden ver en la imagen que adjunte, una localidad puede tener varios inmuebles así como cada inmueble puede tener varias imágenes.

El problema es que quiero hacer una consulta SQL con PHP donde me devuelva una Localidad con el Inmueble de esa localidad y solamente una imagen NO todas las imágenes pertenecientes a esa vivienda.

Quiero hacer esto porque el inicio de la pagina de la inmobiliaria va a aparecer un listado de todos los inmuebles que están a la venta (o alquiler) y si la consulta que hago a la base de datos me devuelve todas las imágenes de cada inmueble, van a ver inmuebles que se repiten mas de una vez.

La consulta que hago a la base de datos y me devuelve todas las imágenes es esta:

Código MySQL:
Ver original
  1. SELECT inmuebles.contrato, inmuebles.id, inmuebles.tipo, localidades.ciudad, inmuebles.descripcion, imagenes.imagen, inmuebles.precio
  2. FROM localidades
  3.     INNER JOIN inmuebles ON localidades.id = inmuebles.id_localidad
  4.     LEFT JOIN imagenes ON inmuebles.id = imagenes.id_inmueble
”;

Estuve probando en agregar al final de la consulta esto “GROUP BY imagenes.id_inmueble”, y me muestra una imagen de la vivienda (lo que quiero yo) pero me deja inmuebles afuera que no me los muestra.

Esto es todo espero que se entienda todo y aclaro que esta es la primera vez que trabajo con tablas relacionales, tal vez la tabla de imágenes no era necesaria pero se la agregue para entender un poco mas sobre las relaciones y como unir y consultar varias tablas.

Última edición por gnzsoloyo; 16/01/2013 a las 06:48 Razón: Código SQL sin etiquetar.