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