首页新闻找找看学习计划

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

0
悬赏园豆:5 [待解决问题]

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......

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

为什么不说的更详细呢?

张朋举 4周前
< >
分享
所有回答(4)
0

去重+行转列

Ctrl` | 园豆:1570 (小虾三级) | 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

熊泽-学习中的苦与乐 | 园豆:280 (菜鸟二级) | 2019-09-17 10:47

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

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

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

什麼江湖 | 园豆:3 (初学一级) | 2019-09-18 09:11
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

名字还没想好 | 园豆:152 (初学一级) | 2019-09-18 10:55
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册