Es un tema de orden de la query:
Código MySQL:
Ver original id_habitacion,
nombre,
descripcion,
ocupacion_maxima,
tarifa
FROM habitacion H
LEFT JOIN reservadas R
ON H.id_habitacion
= R.id_habitacion
WHERE ocupacion_maxima
>= 0 GROUP BY id_habitacion
, nombre
, descripcion
, ocupacion_maxima
, tarifa
Por otro lado hay algunas cosas incorrectas en esa misma query, porque estas comparaciones no tienen ningún sentido:
¿Qué se supone que representan?, porque sin duda no implica que puedas poner un espacio vacío en un capo DATE. Eso no es un dato válido.
SI el tema es que no sean nulos, es decir, que tengan una fecha, entonces no corresponde que uses LEFT JOIN, sino INNER JOIN, porque nunca sería nula la relación si hay datos en esos campos.
Y esto tiene menos sentido, porque sólo es válido si no devuelve ningún registro: