2017-07-07 61 views
0

我在DB2數據庫中有一組記錄,我需要提供一份報告,其中爲用戶完成的業務所有字段都提供給所有用戶。爲所有用戶總結了所有不同的MGD_TYPE。我怎樣才能使用SQL來做到這一點?DB2 SQL聚合

USER_ID   MGD_TYPE     MTHLY_AMT   EFF_DATE 
1222   FX      332.21    06/23/10 
3333   REAL_ESTATE    2221.03    06/23/10 
1222   MERGERS     1882.43    02/03/12 
3333   PORTFOLIO    721.44    01/22/15 


USER   FX_AMT   REAL_EST_AMT   MERGERS_AMT   PORTFOLIO_AMT 
1222   332.21   0.0     1882.43   0.0 
3333   0.0    2221.03     0.0    721.44 
+0

可能的複製到https://stackoverflow.com/questions/44784095/convert-rows-into-column-in-db2 我建議在發佈 – MichaelTiefenbacher

回答

1

這是一個基本的PIVOT查詢:

SELECT USER_ID, 
    SUM(CASE MGD_TYPE WHEN 'FX'   THEN MTHLY_AMT END) As FX_AMT, 
    SUM(CASE MGD_TYPE WHEN 'REAL_ESTATE' THEN MTHLY_AMT END) As REAL_EST_AMT, 
    SUM(CASE MGD_TYPE WHEN 'MERGERS'  THEN MTHLY_AMT END) As MERGERS_AMT, 
    SUM(CASE MGD_TYPE WHEN 'PORTFOLIO' THEN MTHLY_AMT END) As PORTFOLIO_AMT 
FROM table 
GROUP BY USER_ID 
+0

之前搜索相似的問題和有用的答案非常感謝 – BreenDeen