Select语句有问题

时间:2013-09-30 15:03:10

标签: sql

我有一个运行良好的以下选择查询

SELECT
  division, 
  division_name, 
  object_account, 
  account_description, 
  Sum(value) AS PreferedSpend 
FROM jde_dw.blanket_rpt 
WHERE division = 02 
AND vendor_type = 'PV' 
AND month = 07 
AND year = 2013 
GROUP BY division, division_name, object_account, account_description 
ORDER BY division

现在我想添加一个列,显示总支出与上面相同的查询但在where语句中没有vendor_type条件。

因此,最终查询将显示Division,division_name,Object_account,Account_Description,Value(首选)和值为(包括所有内容的总计)

我该怎么做?

1 个答案:

答案 0 :(得分:1)

将条件移到SUM()内,以便只有匹配的行才能得到总和:

SELECT
  division, 
  division_name, 
  object_account, 
  account_description, 
  SUM(CASE WHEN vendor_type = 'PV' THEN value ELSE 0 END) as PreferedSpend,
  SUM(value) AS TotalSpend
FROM jde_dw.blanket_rpt 
WHERE division = 02 
AND month = 07 
AND year = 2013 
GROUP BY division, division_name, object_account, account_description 
ORDER BY division