我正在嘗試構建一個聲明,該聲明將返回每位員工每天處理的工作訂單的數量。問題在於,員工可以在一天內多次處理工作訂單(我只能算作1),或者他們可以在多個工作日內多次處理工單(我將每天處理1個工作日上)。使用帶有AND的案例陳述來過濾結果SQL Server 2008
我可以使用Case
語句與AND
表達式來執行此操作嗎?是這樣的:
SELECT
WKE_EmployeeID, WKE_LabDate, WKE_RecordID,
'WorkOrder' = CASE
WHEN WKE_WorkOrderID = WKE_WorkOrderID AND WKE_LabDate = WKE_LabDate
THEN (Select Distinct WKE_WorkOrderID)
ELSE WKE_WorkOrderID
FROM
dbo.WKE
WHERE
(WKE_EmployeeID IN (N'sweda', N'bakja', N'gebwa'))
AND (WKE_LabDate BETWEEN @FromDate AND @ToDate)
ORDER BY
WKE_WorkOrderID
這僅僅是課程的第一部分,B/C,然後我需要計算每個員工每天的工作訂單,但我想弄清楚如何先做這部分讓我可以驗證我的數據。
我在正確的道路上,還是應該以完全不同的方式來做到這一點?也許子報告?
示例數據庫
WKO employee date
RW19800 bakja 1/6/14 12:00 AM
RW20573 gebwa 1/2/14 12:00 AM
RW20574 gebwa 1/2/14 12:00 AM
RW20600 gebwa 1/10/14 12:00 AM
**RW20602 gebwa 1/2/14 12:00 AM
RW20602 gebwa 1/7/14 12:00 AM**
*RW20603 bakja 1/8/14 12:00 AM
RW20603 bakja 1/8/14 12:00 AM*
所以,對上面的粗體部分,我會因爲工作就可以了2個不同天做計爲2個實例。
對於斜體部分,我想把它當作1個實例,因爲在同一天兩次完成它的工作。
最終輸出樣本例如:
date WKO Count employee
1/2/14 12:00 AM 3 gebwa
1/6/14 12:00 AM 1 bakja
1/7/14 12:00 AM 1 gebwa
1/8/14 12:00 AM 1 bakja
1/10/14 12:00 AM1 gebwa
樣品輸入和輸出數據集嗎? – MarkD
什麼數據類型是'WKE_LabDate' ?,你使用的是什麼版本的SQL Server? – Lamak
我正在使用SQL Server 2008,並且使用Sql server mgmnt studio。 WKE_LabDate是日期時間數據類型 – jballard81