日期:2014-05-17  浏览次数:20920 次

一行三列转换成三行一列的简单sql语句,解决就给分
将下面样式的
A B C
77 88 99

转换成

Name Value
A 77
B 88
C 99

寻求简单的sql语句,union all格式的太多了。

------解决方案--------------------
你就只有一行三列的数?

如果只有这么点,union吧,其它方法更麻烦
------解决方案--------------------
decode只能针对数据,无法针对列名啊
------解决方案--------------------
列转行,用UNION是最简单的方法
DECODE是行转列
------解决方案--------------------
SQL2005 :
--------------------------------------------
create table aaa(a int,b int ,c int)

insert into aaa values(77,88,99)

select * from aaa
unpivot (vaa for bb in ([a],[b],[c])) as pvt

drop table aaa

-------------------------------------------