我遇到了一個問題,我一直在盯着幾個小時,似乎無法解決。
我有一個表,其內容爲:COUNT或SUM(CASE)從單列中的單列
CALLS
CALL_REF {PK}
TIME
CALLER_ID {FK}
DETAIL
TAKEN_BY {FK}
ASSIGNED_TO {FK}
STATUS
實例行是:
1411 8/19/2014 1808 0093 "Detail" AB2 EB1 Closed
1372 8/19/2014 1238 0096 "Detail" MM1 MW1 Open
我需要做的是計算的封閉式和開放式的量在特定日期和一定的時間之間創建以下輸出:
Date Shift Status Calls
19-AUG-14 early Closed 47
19-AUG-14 early Open 1
19-AUG-14 late Closed 38
從另一個表中取出換檔。
到目前爲止,我有這樣的:
SELECT shifts.shift_date AS "Date",
shifts.shift_time AS "Time",
calls.status AS "Status",
SUM(CASE
WHEN calls.status = 'Closed' THEN 1
ELSE NULL
end) AS "Open Calls",
SUM(CASE
WHEN calls.status = 'Open' THEN 1
ELSE NULL
end) AS "Closed Calls"
FROM calls
INNER JOIN shifts
ON shifts.shift_date = calls.call_date
WHERE calls.call_date = '19-AUG-14'
AND calls.call_time BETWEEN TO_DATE('08:00', 'HH24:MI') AND
TO_DATE('14:00', 'HH24:MI')
OR calls.call_date = '19-AUG-14'
AND calls.call_time BETWEEN TO_DATE('14:00', 'HH24:MI') AND
TO_DATE('20:00', 'HH24:MI')
GROUP BY shifts.shift_date,
shifts.shift_time,
calls.status
ORDER BY shifts.shift_time,
calls.status;
,輸出:
Date Time Status Open Calls Closed Calls
19-AUG-14 Early Closed 85
19-AUG-14 Early Open 1
19-AUG-14 Late Closed 85
19-AUG-14 Late Open 1
這顯然是錯誤的,但我無能,如何將兩者結合起來,並將它們兩個移位之間分開倍。 請幫忙!
這裏是數據庫的完整佈局,如果你需要的話。 http://i.stack.imgur.com/mKGHU.png
編輯:
現在,我使用||之間的兩個總和聲明,將他們移動到同一列。但數字仍然是總數。他們需要在早班和晚班之間分開。
SELECT SHIFTS.SHIFT_DATE AS "Date",
SHIFTS.SHIFT_TIME AS "Time",
CALLS.STATUS AS "Status",
SUM(CASE
WHEN CALLS.STATUS = 'Closed' THEN 1
ELSE NULL END) ||
SUM(CASE
WHEN CALLS.STATUS = 'Open' THEN 1
ELSE NULL END) AS "Calls"
FROM CALLS
INNER JOIN SHIFTS
ON SHIFTS.SHIFT_DATE = CALLS.CALL_DATE
WHERE CALLS.CALL_DATE = '19-AUG-14'
AND (CALLS.CALL_TIME BETWEEN TO_DATE('08:00','HH24:MI')
AND TO_DATE('14:00','HH24:MI')
OR CALLS.CALL_DATE = '19-AUG-14'
AND CALLS.CALL_TIME BETWEEN TO_DATE('14:00','HH24:MI') AND TO_DATE('20:00','HH24:MI')
)
GROUP BY SHIFTS.SHIFT_DATE,
SHIFTS.SHIFT_TIME,
CALLS.STATUS
ORDER BY SHIFTS.SHIFT_TIME,
CALLS.STATUS;
TO_DATE('14:00' , 'HH24:MI')給你當年,當月,當月14:00的第一天。那真的是你想要的嗎? – Multisync 2014-11-01 21:34:35