SQL Server 2008 中 SUM() 中的多个 CASE 语句
Multiple CASE stamenet within SUM() in SQL Server 2008
我有一个查询,需要使用 CASE
语句再添加一个列检查。检查is_contractor = 0
。检查意味着 AND
与列。
刚开始使用 CASE
没有帮助。所以任何帮助将不胜感激。
SELECT
ft.profit_center_id,
c.region,
SUM(CASE cc.is_nurse_cc WHEN 1 THEN ft.number_of_fte ELSE 0 END) AS sum_number_of_fte_nurse
FROM dbo.Employee AS ft
INNER JOIN dbo.Centers as cc ON ft.cc_id = cc.cc_id
INNER JOIN dbo.Clinic c ON c.id = ft.profit_center_id
GROUP BY
ft.profit_center_id,
c.region,
使用案例表达式的搜索版本(https://msdn.microsoft.com/en-us/library/ms181765.aspx):
SUM(CASE WHEN cc.is_nurse_cc = 1 AND is_contractor = 0
THEN ft.number_of_fte ELSE 0 END) AS sum_number_of_fte_nurse
我有一个查询,需要使用 CASE
语句再添加一个列检查。检查is_contractor = 0
。检查意味着 AND
与列。
刚开始使用 CASE
没有帮助。所以任何帮助将不胜感激。
SELECT
ft.profit_center_id,
c.region,
SUM(CASE cc.is_nurse_cc WHEN 1 THEN ft.number_of_fte ELSE 0 END) AS sum_number_of_fte_nurse
FROM dbo.Employee AS ft
INNER JOIN dbo.Centers as cc ON ft.cc_id = cc.cc_id
INNER JOIN dbo.Clinic c ON c.id = ft.profit_center_id
GROUP BY
ft.profit_center_id,
c.region,
使用案例表达式的搜索版本(https://msdn.microsoft.com/en-us/library/ms181765.aspx):
SUM(CASE WHEN cc.is_nurse_cc = 1 AND is_contractor = 0
THEN ft.number_of_fte ELSE 0 END) AS sum_number_of_fte_nurse