Ver Mensaje Individual
  #4 (permalink)  
Antiguo 23/03/2014, 15:59
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Error en consulta sql

Es un tema de orden de la query:
Código MySQL:
Ver original
  1.     id_habitacion,
  2.     nombre,
  3.     descripcion,
  4.     ocupacion_maxima,
  5.     tarifa
  6. FROM habitacion H LEFT JOIN reservadas R ON H.id_habitacion = R.id_habitacion
  7. WHERE ocupacion_maxima >= 0
  8.     AND fecha_entrada >= ''
  9.     AND fecha_salida <= ''
  10. GROUP BY id_habitacion, nombre, descripcion, ocupacion_maxima, tarifa
  11. ORDER BY ocupacion_maxima ASC, tarifa DESC

Por otro lado hay algunas cosas incorrectas en esa misma query, porque estas comparaciones no tienen ningún sentido:
Código MySQL:
Ver original
  1. AND fecha_entrada >= ''
  2.     AND fecha_salida <= ''
¿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:
Código MySQL:
Ver original
  1. HAVING COUNT(*) = 0
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)