Ver Mensaje Individual
  #7 (permalink)  
Antiguo 28/03/2014, 05:57
emiliochu
 
Fecha de Ingreso: marzo-2014
Mensajes: 11
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: consulta sacando datos de tres tablas

Tienes razón, vamos avanzando!

he corregido la consulta y quedaría así:
Código MySQL:
Ver original
  1. SELECT i.id_inmueble, COUNT(c.codigo_inmueble_es) cuenta, ts.id_servicio, SUM(ts.valor) totalServicio
  2. FROM `inmuebles` i
  3. LEFT JOIN `tbl_servicios_inmuebles` `c` ON i.`id_inmueble` = `c`.`codigo_inmueble_es`
  4. INNER JOIN tbl_servicios ts ON c.codigo_servicio = ts.id_servicio
  5. GROUP BY i.id_inmueble

¿Qué nos falta?

Por una parte, solo devuelve 16 filas, cuando en la tabla inmuebles hay 55 registros. Está ignorando los registros de la tabla inmuebles que no tienen servicios asociados en la tabla tbl_servicios_inmuebles.

Por otra parte, no consideramos que el campo fecha_expiracion_servicio del servicio seleccionado en el LEFT JOIN sea mayor a la fecha actual.

¿Es posible hacerlo en una sola consulta? Y más importante: Si es posible, ¿Es eficiente o al menos más eficiente que utilizar varias consultas y hacer comparaciones en php?

Gracias gnzsoloyo.

Última edición por gnzsoloyo; 28/03/2014 a las 06:23