22,209
社区成员
发帖
与我相关
我的任务
分享
如下:
数据库1:
a b
1 4
2 3
3 6
变成数据库2:
a1b a2b a3b
4 3 6
怎么实现呀?求指导。
SELECT
MAX(CASE a WHEN 1 THEN b END) a1
,MAX(CASE a WHEN 1 THEN c END) b1
,MAX(CASE a WHEN 1 THEN d END) c1
,MAX(CASE a WHEN 2 THEN b END) a2
,MAX(CASE a WHEN 2 THEN c END) b2
,MAX(CASE a WHEN 2 THEN d END) b2
FROM
tablename
a b c d
1 2 3 4
2 5 5 5
变成
a1 b1 c1 a2 b2 c2
2 3 4 5 5 5
呢
a b c d
1 2 3 4
2 5 5 5
变成
a1 b1 c1 d1 a2 b2 c2 d2
2 3 4 5 5 5 5 5
呢
SELECT [1][a1b],[2][a2b],[3][a3b] FROM CTE PIVOT(SUM(b)FOR a IN([1],[2],[3]))P