阅读背景:

当WHERE不返回任何内容时,SQL WHERE!=子句不会导致结果

来源:互联网 

I have this SQL query:

我有这个SQL查询:

USE thr_clinic
GO
WITH CompleteSchedule AS (
    SELECT  U.ID as UserID, U.Role, U.Surname, U.Clinic, TS.ID as TimeSlotID, TS.TimeSlot
    FROM    Users U
        CROSS JOIN  TimeSlots TS
)
SELECT  CS.*
FROM    CompleteSchedule CS
    LEFT JOIN   Appointments A 
        ON A.MedicalStaffID = CS.UserID 
        AND A.TimeSlot = CS.TimeSlotID 
        AND A.AppDate = CONVERT(DATE,DATEADD(day, 3, GETDATE()))
WHERE   A.ID is null 
        AND CS.Role != 'Patient' 
        AND CS.Clinic = (SELECT Clinic FROM Users WHERE Users.ID = 1)
        AND CS.UserID != (SELECT StaffID FROM DaysOff WHERE DayOff = CONVERT(DATE,DATEADD(day, 3, GETDATE())))
ORDER BY    CS.UserID, CS.TimeSlotID
USE thr_c



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: