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