Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL查询中跳过天数的逻辑_Mysql_Sql_Database Design - Fatal编程技术网

MySQL查询中跳过天数的逻辑

MySQL查询中跳过天数的逻辑,mysql,sql,database-design,Mysql,Sql,Database Design,我有一个网站,人们可以去预约医生。在医生预约的前一天,服务台会打电话给患者,确保他们在预约当天在场 现在我在Admin中做了一个屏幕,显示明天有预约的人。如果明天是周六的周日,它应该显示周一有预约的人,因为诊所将在周日关闭 我做了一个查询,它会带来明天有约会的人员列表。现在,我应该在这个查询中添加什么来获取周一的人员列表,以防明天是周日 CREATE TABLE Patients_Appointment_List( Patent_Id INT UNSIGNED PRIMARY AUTO_I

我有一个网站,人们可以去预约医生。在医生预约的前一天,服务台会打电话给患者,确保他们在预约当天在场

现在我在Admin中做了一个屏幕,显示明天有预约的人。如果明天是周六的周日,它应该显示周一有预约的人,因为诊所将在周日关闭

我做了一个查询,它会带来明天有约会的人员列表。现在,我应该在这个查询中添加什么来获取周一的人员列表,以防明天是周日

CREATE TABLE Patients_Appointment_List( Patent_Id INT UNSIGNED PRIMARY AUTO_INCREMENT, Patient_Name VARCHAR(255), appointment_Date DATE ); 创建表格患者\预约\列表( 专利Id INT无符号主自动增量, 患者姓名VARCHAR(255), 预约日期 ); 我应该在下面的查询中添加什么来跳过星期天并从星期一开始

SELECT Patient_Name FROM Patients_Appointment_List WHERE appointment_Date BETWEEN now() and date_add(now(), INTERVAL 1 DAY) 选择患者姓名 来自患者预约列表 其中约会日期介于现在()和添加日期之间(现在(),间隔1天)
您可以在
WHERE
子句中使用条件
CASE
表达式来检查明天是否是星期天。如果是,请调整条件检查以包括接下来的两天,否则,只需显示明天之前的约会:

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

您可以在
WHERE
子句中使用条件
CASE
表达式来检查明天是否是星期天。如果是,请调整条件检查以包括接下来的两天,否则,只需显示明天之前的约会:

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

我包括了一个开始日期在周日的案例。@RosePerrone如果诊所周日关闭,那么周日就不应该有预约了,是吗?…我包括了一个开始日期在周日的案例。@RosePerrone如果诊所周日关闭,那么周日就不应该有预约了,是吗?。。。