0

うまく動作する次の選択クエリがあります

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(優先) および value as(すべてを含む合計) が表示されます。

これどうやってするの?

4

1 に答える 1

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
于 2013-09-30T15:21:08.443 に答える