首页 新闻 会员 周边 捐助

哪位大神帮看看这个sql怎么写

0
悬赏园豆:5 [已解决问题] 解决于 2020-01-16 15:29

1 1
1 2
1 3
......
2 1
2 2
2 3
......
3 1
3 2
3 3
......
转成如下格式:
1 1 2 3......
2 1 2 3......
3 1 2 3......

什麼江湖的主页 什麼江湖 | 初学一级 | 园豆:116
提问于:2019-09-17 09:17

为什么不说的更详细呢?

张朋举 5年前
< >
分享
最佳答案
0

t-sql也有PIVOT用法
SELECT id,number FROM table

SELECT * FROM table
AS p
PIVOT
(MAX(number) FOR
p.number IN([1],[2],[3])
) AS T

收获园豆:5
名字还没想好 | 初学一级 |园豆:159 | 2019-09-18 10:55
其他回答(3)
0

去重+行转列

Ctrl` | 园豆:3317 (老鸟四级) | 2019-09-17 10:08
0

基本的行转列,具体写法参考如下:
原语句:
SELECT Id,name FROM [table]

行转列语句
SELECT * FROM Id,(SELECT name+',' FROM [table] WHERE Id=t2.Id FOR XML PATH('')) AS name2
FROM [table] t2
GROUP BY Id

熊泽-学习中的苦与乐 | 园豆:2272 (老鸟四级) | 2019-09-17 10:47

找到方法了,oracle中可以用pviot实现

支持(0) 反对(0) 什麼江湖 | 园豆:116 (初学一级) | 2019-09-18 09:10
0

找到方法了,oracle中可以用pviot实现

什麼江湖 | 园豆:116 (初学一级) | 2019-09-18 09:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册