0
我試圖添加兩列的結果,並根據下列查詢中「按時」列的總列進行計算。我要的結果是這些列:從總和(大小寫)語句中除以兩列得到百分比
評估師「OntimeSum'PastDueSum'龍泰+ pastdue「%準時」
我已經在下面的查詢前三,但我不知道如何做其他人,似乎無法找到他們或找到任何地方的例子。
WITH AppraiserTurnTime AS
(SELECT (v.ContactLastName+ ', ' +v.ContactFirstName) AS Appraiser
,SUM(CASE WHEN oi.SubmittedDate <= oi.AssignedDate THEN 1 ELSE 0 END) AS OnTime
,SUM(CASE WHEN oi.SubmittedDate >= oi.AssignedDate THEN 1 ELSE 0 END) AS PastDue
FROM OrderItems oi
JOIN Vendors v ON v.VendorID = oi.VendorID
JOIN VendorClasses vc ON vc.VendorClassID = v.VendorClassID
WHERE vc.VendorClassID in (6, 3)
GROUP BY ContactFirstName,v.ContactLastName)
SELECT * FROM AppraiserTurnTime
謝謝我得到了總的工作,但遇到了另一個分歧0問題。試圖通過使用這個解決方案,但所有這一切返回在每一行是0。 – wondergoat77 2012-04-22 06:51:48
(SUM(CASE WHEN oi.SubmittedDate <= oi.AssignedDate THEN ELSE 1 0 END))/ NULLIF( \t(SUM(CASE WHEN oi.SubmittedDate <= oi.AssignedDate THEN ELSE 1 0 END))+ \t( SUM(CASE WHEN oi.SubmittedDate> oi.AssignedDate THEN 1 ELSE 0 END)),0)AS百分比 – wondergoat77 2012-04-22 06:52:08
請看COALESCE – dfb 2012-04-22 15:14:15