0
我有一個查詢,列出了一週中所有日子的工作時間表和半小時增量的時間。對行進行排序通過在TSQL中首先保留具有特定值的行
SELECT ID,
CallCenterScheduleID As WorkScheduleID,
C.DayOfWeekID,
C.TimeOfDayID,
T.DisplayValue TimeDisplayName,
W.DayOfWeekName WeekDisplayName
FROM tblCallCenterCapacityDetail C
INNER JOIN tblWeekDay W
ON C.DayOfWeekID = W.DayOfWeekID
INNER JOIN tblTimeOfDay T
ON C.TimeOfDayID = T.TimeOfDayID
WHERE CallCenterScheduleID = 75
ORDER BY
CASE
WHEN C.DayOfWeekID = 6 AND T.DisplayValue = '2:30 PM' THEN 0
ELSE 1
END ASC
上面的查詢提出了這樣的結果
要求:
WeekDisplayName有48條記錄的每一天,就像你看到週三,你首先看到的前19條記錄,其餘記錄出現在結果的最後。我需要將一天中的所有48條記錄放在一起,然後在隨後的每一天中記錄48條記錄。
星期三之後,星期四的第一個記錄有時間上午12:00,我需要顯示與星期三選擇的時間相同的時間。正如你所看到的,星期三的第一條記錄在下午2點30分有時間,但是與星期四相關的第20條行首先顯示中午12點。 我需要爲每週的每一天顯示下午2:30的時間。
我很困惑。你希望每一天的所有48行彼此相鄰,但是時間從下午2:30開始。所以我的問題就在你的例子中,星期三下午11:30後的下一行應該是什麼?下午1:30應該去哪裏? – SQLChao
晚上11點30分之後,我們需要在上午230點之前顯示跳過第三天的記錄 – suleman