Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MYSQL:quartos vagos / ocupados como agora


Sua pergunta é muito difícil de seguir porque as colunas em sua consulta não correspondem às colunas nos dados de exemplo. Além disso, você não tem resultados desejados.

Acho que você precisa mover as comparações de datas para um on cláusula e, em seguida, procure por não correspondências no 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 ;