2013-08-16 38 views
2

我有以下表將列移入行並創建新列?

Col_1 Col_2 Col_3  Date 
0.1 0.2 0.3 2013-08-13 
0.4 0.5 0.6 2013-08-12 

我想以下幾點:

Date   New Column  Value 
2013-08-13  Col_1    0.1 
2013-08-13  Col_2    0.2 
2013-08-13  Col_3    0.3 
2013-08-12  Col_1    0.4 
2013-08-12  Col_2    0.5 
2013-08-12  Col_3    0.6 

所以,我不僅調換表,但也增加了新的一列,它告訴我的列名其值來了。我試着做一個UNION..but它沒有工作:(

感謝

回答

2

,你可以這樣說:!

INSERT INTO NEW_TABLE_NAME (Date, `New Column`, Value) 

SELECT DATE, 'Col_1', Col_1 

FROM  OLD_TABLE_NAME 


UNION ALL 


INSERT INTO NEW_TABLE_NAME (Date, `New Column`, Value) 

SELECT DATE, 'Col_2', Col_2 

FROM  OLD_TABLE_NAME 


UNION ALL 


INSERT INTO NEW_TABLE_NAME (Date, `New Column`, Value) 

SELECT DATE, 'Col_3', Col_3 

FROM  OLD_TABLE_NAME; 
+0

由於一噸這個工作對我來說:) –