Soy consciente de que esta consulta:
Código SQL:
Ver originalSELECT i.id_inmueble, COUNT(c.codigo_inmueble_es) cuenta, ts.id_servicio, SUM(ts.valor) totalServicio
FROM `inmuebles` i LEFT JOIN `tbl_servicios_inmuebles` `c` ON i.`id_inmueble` = `c`.`codigo_inmueble_es`
INNER JOIN tbl_servicios ts ON c.codigo_servicio = ts.id_servicio
WHERE `c`.`codigo_inmueble_es` IS NULL
GROUP BY i.id_inmueble
ORDER BY 2 DESC
Solicita a la tabla inmuebles todos los registros que no tienen servicios asociados, la hice intencionadamente porque en la esa tabla hay 60 registros y sólo 16 de ellos tienen servicios asociados en la tbl_servicios_inmuebles. por tanto la consulta anterior debería arrojar 44 registros desde mi opinión y devuelve 0.
Por otra parte, la siguiente consulta,
Código SQL:
Ver originalSELECT i.id_inmueble, COUNT(c.codigo_inmueble_es) cuenta, IFNULL(ts.id_servicio, 0) id_servicio, IFNULL(SUM(ts.valor), 0.0) totalServicio
FROM `inmuebles` i
LEFT JOIN `tbl_servicios_inmuebles` c ON i.`id_inmueble` = `c`.`codigo_inmueble_es`
INNER JOIN tbl_servicios ts ON c.codigo_servicio = ts.id_servicio WHERE TRUE OR `c`.`codigo_inmueble_es` IS NULL
GROUP BY i.id_inmueble
ORDER BY 2 DESC, 1 ASC
Continúa mostrando tan solo 16 registros, según entiendo, en teoría debería mostrar todos los de la tabla inmuebles, pero en la práctica no es el caso.
¿Es posible que esto sea causado por algún defecto en la creación de la estructura de las tablas, tipos o algo similar?