程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> 教您如何實現DB2行轉列

教您如何實現DB2行轉列

編輯:DB2教程

DB2行轉列操作是很常見的問題,下面就教您如何實現DB2行轉列操作,如果您之前遇到過DB2行轉列的問題,不妨一看。

給出下面的數據:
CREATE TABLE Sales (Year INT, Quarter INT, Results INT)

YEAR        QUARTER     RESULTS
----------- ----------- -----------      
2004           1          20      
2004           2          30      
2004           3          15      
2004           4          10      
2005           1          18      
2005           2          40      
2005           3          12      
2005           4          27

想要的到結果:
YEAR        Q1          Q2          Q3          Q4
----------- ----------- ----------- ----------- -----------      
2004          20          30          15          10      
2005          18          40          12          27

這個SQL就可解決這個問題:S
ELECT Year,
       MAX(CASE WHEN Quarter = 1
           THEN Results END) AS Q1,
       MAX(CASE WHEN Quarter = 2   
           THEN Results END) AS Q2,
       MAX(CASE WHEN Quarter = 3    
           THEN Results END) AS Q3,
       MAX(CASE WHEN Quarter = 4   
           THEN Results END) AS Q4
FROM Sales
GROUP BY Year

解釋一下為什麼要加max的原因,因為不加max的話結果會是這樣:
YEAR        Q1          Q2          Q3          Q4
----------- ----------- ----------- ----------- -----------
     2004          20           -           -           - 
     2004           -          30           -           - 
     2004           -           -          15           - 
     2004           -           -           -          10  
     2005          18           -           -           -  
     2005           -          40           -           -  
     2005           -           -          12           -  
     2005           -           -           -          27
 

DB2在線備份的實現方法

四種刪除DB2數據的方法

深入解讀DB2存儲過程

帶您了解DB2異常處理器類型

Windows下創建DB2實例的方法

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved