首页 新闻 搜索 专区 学院

sql-竖表转横表

0
悬赏园豆:10 [已解决问题] 解决于 2015-11-06 11:45

parent_ID    NAME      StringValue
1        PayStage      1
1        PayMoney      11111
1        PayTime      2015-11-25 00:00
2        PayStage      2
2        PayMoney      22222
2        PayTime      2016-11-25 00:00

 

我现在有这样一个表,如何查询出下面这样的结果

Paystage PayMoney    PayTime   

1      11111  2015-11-25 00:00

2      22222  2016-11-25 00:00

MAQNH的主页 MAQNH | 初学一级 | 园豆:184
提问于:2015-11-06 11:22
< >
分享
最佳答案
0
DECLARE @T TABLE(parent_ID INT,NAME VARCHAR(10) ,StringValue VARCHAR(50));
INSERT INTO @T (parent_ID,NAME,StringValue) VALUES 
(1,'PayStage','1'),
(1,'PayMoney','11111'),
(1,'PayTime ','2015-11-25 00:00'),
(2,'PayStage','2'),
(2,'PayMoney','22222'),
(2,'PayTime ','2016-11-25 00:00')

SELECT parent_ID,[PayStage],[PayMoney],[PayTime] FROM @T PIVOT (max(stringvalue) FOR NAME IN ([PayStage],[PayMoney],[PayTime])) pt 
/*
1    1    11111    2015-11-25 00:00
2    2    22222    2016-11-25 00:00
*/
收获园豆:10
gw2010 | 小虾三级 |园豆:1399 | 2015-11-06 11:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册