2013-08-16 40 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

由于一吨这个工作对我来说:) –