我有一个网站,人们可以去预约医生。在医生预约的前一天,服务台给患者打电话,确保他们在预约当天就诊。
现在我在管理员中制作了一个屏幕,显示明天有人预约的人。如果明天是周六的星期日,它应该显示星期一有固定预约的人,因为诊所将在周日关闭。
我做了一个查询,带来了明天预约的人员名单。现在应该添加到这个查询中,以便明天获得星期一的人员名单是星期日。
CREATE TABLE Patients_Appointment_List( Patent_Id INT UNSIGNED PRIMARY AUTO_INCREMENT, Patient_Name VARCHAR(255), appointment_Date DATE );
我应该添加到以下查询以跳过星期日并从星期一开始再次
SELECT Patient_Name FROM Patients_Appointment_List WHERE appointment_Date BETWEEN now() and date_add(now(), INTERVAL 1 DAY)
答案 0 :(得分:1)
您可以在CASE
子句中使用条件WHERE
表达式来检查明天是否是星期日。如果是,请调整条件检查以包含下一个两个天,否则,只显示约会直到明天:
SELECT Patient_Name
FROM Patients_Appointment_List
WHERE
CASE WHEN WEEKDAY(CURDATE() + INTERVAL 1 DAY) = 6 THEN
appointment_Date BETWEEN NOW() AND NOW() + INTERVAL 2 DAY ELSE
appointment_Date BETWEEN NOW() AND NOW() + INTERVAL 1 DAY
END