sql >> Base de Datos >  >> RDS >> Mysql

MYSQL:Habitaciones vacantes / ocupadas como ahora

Su pregunta es bastante difícil de seguir porque las columnas de su consulta no coinciden con las columnas de los datos de muestra. Además, no tiene los resultados deseados.

Creo que necesita mover las comparaciones de fechas a un on cláusula y luego busque las no coincidencias en el where :

select rct.room_category AS room_category,
       group_concat(rc.room_name separator ',') AS vacant_beds
from room_charges rc join
     room_category rct
     on rc.room_category = rct.id left join
     patient_detail pd
     on rc.id = pd.room_name and
        (pd. discharge_date_time is null or
         curdate() between admission_date_time and discharge_date_time)
where pd.id is null
group by rc.room_category ;