Hola, soy nuevo en el foro, paso a redactar mi problema:
Hay tres tablas:
Tbl_servicios(
id_servicio, valor,...)
tbl_servicios_inmuebles (
id_servicio_inmueble, codigo_servicio, codigo_inmueble_es, fecha_expiracion_servicio,...)
inmuebles(
id_inmueble,titulo,...)
Se relacionan asi:
tbl_servicios.id_servicio - tbl_servicios_inmuebles.codigo_servicio
inmuebles.id_inmueble - tbl_servicios_inmuebles.codigo_inmueble_es
Quisiera sacar todos los registros de la tabla
inmuebles (tengan o no registros relacionados en la tabla
tbl_servicios_inmuebles)más la suma del campo
valor de la tabla
tbl_servicios donde el campo
fecha_expiracion_servicio sea mayor a la
fecha del sistema, todo esto agrupado por
id_inmueble.
La siguiente consulta funciona bien, pero solo muestra los registros de la tabla inmuebles que tienen registros relacionados en la tabla
tbl_servicios_inmuebles, con lo cual no me sirve, el objetivo es ordenar todos los inmuebles por la suma de los valores de los servicios que tengan contratados.
Código SQL:
Ver originalSELECT inmuebles.*, COUNT(tbl_servicios_inmuebles.id_servicio_inmueble ) AS cuenta,
SUM(tbl_servicios.valor )AS suma FROM inmuebles, tbl_servicios_inmuebles, tbl_servicios
WHERE tbl_provincias.id_provincia=inmuebles.provincia AND
tbl_municipios.id_municipio=inmuebles.municipio AND
tbl_servicios.id_servicio=tbl_servicios_inmuebles.codigo_servicio AND
tbl_servicios_inmuebles.codigo_inmueble_es=inmuebles.id_inmueble AND
tbl_tipos_inmuebles.id_tipo_inmueble=inmuebles.cod_tipo_inmueble AND visible=1
GROUP BY id_inmueble ORDER BY ponderacion DESC, fecha_insercion, id_inmueble DESC
LIMIT 0,10
Lo último que estoy probando es esta consulta, como veis no añado nada sobre la fecha pero no va. ¿Podeis echarme una manita con esto?
Código SQL:
Ver originalSELECT DISTINCT inmuebles.*, COUNT(c.codigo_inmueble_es) AS cuenta FROM `inmuebles`
LEFT JOIN `tbl_servicios_inmuebles` AS `c` ON `c`.`codigo_inmueble_es` = `inmuebles`.`id_inmueble` GROUP BY id_inmueble
LEFT JOIN tbl_servicios ON id_servicio=codigo_servicio
GROUP BY codigo_inmueble_es GROUP BY id_inmueble
[/I]