Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/04/2017, 06:41
Avatar de insyse
insyse
 
Fecha de Ingreso: abril-2005
Ubicación: Colombia
Mensajes: 206
Antigüedad: 19 años, 8 meses
Puntos: 5
Consulta Compleja en PHP y Mysql

Hola amigos,

Tengo dos tablas en Mysql, y la siguiente consulta...

La tabla hab
Tiene las siguiente estructura y contenido


La tabla reservas
Tiene las siguiente estructura y contenido


La siguiente consulta, me muestra la tabla hab, descartando las habitaciones que aparecen como reservadas dentro de X fecha en la tabla reservas

Código:
SELECT * FROM hab WHERE idHabitacion NOT IN 
	( SELECT idHabitacion FROM reservas WHERE Estado = 'Reservado' AND ('2017-04-28' BETWEEN `CheckIn` AND `CheckOut`) OR  Estado = 'Generado' AND ('2017-04-28' BETWEEN `CheckIn` AND `CheckOut`))
Este es el resultado de la consulta...


Esto funciona bien, pero quisiera obtener el mismo resultado pero solo mostrando dos habitaciones filtrando la columna hab.AA y me mostrara solo un registro con valor CON y un registro con valor SIN

Trate de hacerlo con DISTINCT

Código:
SELECT * DISTINCT AA FROM hab WHERE idHabitacion NOT IN 
	( SELECT idHabitacion FROM reservas WHERE Estado = 'Reservado' AND ('2017-04-28' BETWEEN `CheckIn` AND `CheckOut`) OR  Estado = 'Generado' AND ('2017-04-28' BETWEEN `CheckIn` AND `CheckOut`))
Pero me sale error, creo que no se puede usar el comodin * con DISTINCT y si lo uso sin el comodin *, me muestra solo la columna AA y esto no me sirve.

La idea es que la consulta saliera así...




Agradezco su ayuda.
__________________
.................................................. ...........................
No todos nacemos aprendidos !