【发布时间】:2016-01-14 13:02:22
【问题描述】:
SELECT q1.reportdate
,q1.eid
,(cast(totalweight AS DECIMAL(20, 2)) / 60)
FROM (
SELECT last_day(LNDSpace.UW_Review_Ticket.Review_Date) AS reportdate
,LNDSpace.UW_Review_Ticket.Underwriter_EID AS eid
,(
sum(CASE
WHEN (LNDSpace.UW_Review_Ticket.Loan_Type) = 'Conventional'
AND (LNDSpace.UW_Review_Ticket.Review_State) = 'New'
AND (LNDSpace.UW_Review_Ticket.SH_2R_Denial) = 'No'
AND (LNDSpace.UW_Review_Ticket.SH_Appeal) = 'No'
AND (LNDSpace.UW_Review_Ticket.Decision) <> 'Withdrawn'
THEN 1
ELSE 0
END) + sum(CASE
WHEN (LNDSpace.UW_Review_Ticket.SH_2R_Denial) = 'No'
AND (LNDSpace.UW_Review_Ticket.SH_Appeal) = 'No'
AND (LNDSpace.UW_Review_Ticket.Decision) = 'Withdrawn'
THEN 1
ELSE 0
END)
) * 8 + (
sum(CASE
WHEN (LNDSpace.UW_Review_Ticket.Loan_Type) = 'VA'
AND (LNDSpace.UW_Review_Ticket.Review_State) = 'New'
AND (LNDSpace.UW_Review_Ticket.Review_Type) IN ('Appraisal / LAPP')
AND (LNDSpace.UW_Review_Ticket.SH_2R_Denial) = 'No'
AND (LNDSpace.UW_Review_Ticket.SH_Appeal) = 'No'
AND (LNDSpace.UW_Review_Ticket.Decision) <> 'Withdrawn'
THEN 1
ELSE 0
END)
) * 40 AS totalweight
FROM LNDSpace.UW_Review_Ticket
GROUP BY 1, 2
) AS q1
我需要每个“总和”都是别名...这可能吗?
如
( sum(case when ( LNDSpace.UW_Review_Ticket.Loan_Type )='VA' and ( LNDSpace.UW_Review_Ticket.Review_State )='New' and ( LNDSpace.UW_Review_Ticket.Review_Type ) in ('Appraisal / LAPP')
and ( LNDSpace.UW_Review_Ticket.SH_2R_Denial )='No' and ( LNDSpace.UW_Review_Ticket.SH_Appeal )='No' and ( LNDSpace.UW_Review_Ticket.Decision )<>'Withdrawn' then 1 else 0 end ) as TEST1)
【问题讨论】:
-
即使在格式化您的查询后,我仍然不明白您的问题。但这是一个很好的起点spaghettidba.com/2015/04/24/…
-
在您的查询中创建另一个派生表并在那里计算总和并为其命名。