一下记录序号 名称 值
1 水份值 201
2 水份值 150
3 水份值 120
4 水份值 150
5 水份值 120
6 水份值 120
7 水份值 120
8 水份值 100
9 水份值 ddd
10 水份值 10
1 油份值 300
2 油份值 200
3 油份值 300
4 油份值 300
5 油份值 300
6 油份值 30
7 油份值 30
8 油份值 20
9 油份值 50
10 油份值 200
1 麦拉宁颊上 300
2 麦拉宁颊上 10
3 麦拉宁颊上 40
4 麦拉宁颊上 120
5 麦拉宁颊上 10
6 麦拉宁颊上 20我要的结果是这样
名称 1 2 3 4 5 6 7 8 9 10
水份值 201 150 120 150 120 120 ...
油分值 300 200 300 300 300 30 ...
...
每个名称都是<=10笔记录
不够10笔的后面补空
这样结果该如何实现
1 水份值 201
2 水份值 150
3 水份值 120
4 水份值 150
5 水份值 120
6 水份值 120
7 水份值 120
8 水份值 100
9 水份值 ddd
10 水份值 10
1 油份值 300
2 油份值 200
3 油份值 300
4 油份值 300
5 油份值 300
6 油份值 30
7 油份值 30
8 油份值 20
9 油份值 50
10 油份值 200
1 麦拉宁颊上 300
2 麦拉宁颊上 10
3 麦拉宁颊上 40
4 麦拉宁颊上 120
5 麦拉宁颊上 10
6 麦拉宁颊上 20我要的结果是这样
名称 1 2 3 4 5 6 7 8 9 10
水份值 201 150 120 150 120 120 ...
油分值 300 200 300 300 300 30 ...
...
每个名称都是<=10笔记录
不够10笔的后面补空
这样结果该如何实现
名称,
SUM(Case 序号 When 1 Then 值 Else 0 End) As [1],
SUM(Case 序号 When 2 Then 值 Else 0 End) As [2],
SUM(Case 序号 When 3 Then 值 Else 0 End) As [3],
SUM(Case 序号 When 4 Then 值 Else 0 End) As [4],
SUM(Case 序号 When 5 Then 值 Else 0 End) As [5],
SUM(Case 序号 When 6 Then 值 Else 0 End) As [6],
SUM(Case 序号 When 7 Then 值 Else 0 End) As [7],
SUM(Case 序号 When 8 Then 值 Else 0 End) As [8],
SUM(Case 序号 When 9 Then 值 Else 0 End) As [9],
SUM(Case 序号 When 10 Then 值 Else 0 End) As [10]
From
表
Group By
名称
sum(case 序号 when 1 then 值 end) [1],
.......
sum(case 序号 when 10 then 值 end) [10]
from 表
group by 名称
Select
名称,
Max(Case 序号 When 1 Then 值 Else 0 End) As [1],
Max(Case 序号 When 2 Then 值 Else 0 End) As [2],
Max(Case 序号 When 3 Then 值 Else 0 End) As [3],
Max(Case 序号 When 4 Then 值 Else 0 End) As [4],
Max(Case 序号 When 5 Then 值 Else 0 End) As [5],
Max(Case 序号 When 6 Then 值 Else 0 End) As [6],
Max(Case 序号 When 7 Then 值 Else 0 End) As [7],
Max(Case 序号 When 8 Then 值 Else 0 End) As [8],
Max(Case 序号 When 9 Then 值 Else 0 End) As [9],
Max(Case 序号 When 10 Then 值 Else 0 End) As [10]
From
表
Group By
名称
Create Table 表
(序号 Int,
名称 Nvarchar(20),
值 Int)
--插入數據
Insert 表 Select 1, N'水份值', 201
Union All Select 2, N'水份值', 150
Union All Select 3, N'水份值', 120
Union All Select 4, N'水份值', 150
Union All Select 5, N'水份值', 120
Union All Select 6, N'水份值', 120
Union All Select 7, N'水份值', 120
Union All Select 8, N'水份值', 100
Union All Select 9, N'水份值', 100
Union All Select 10, N'水份值', 10
Union All Select 1, N'油份值', 300
Union All Select 2, N'油份值', 200
Union All Select 3, N'油份值', 300
Union All Select 4, N'油份值', 300
Union All Select 5, N'油份值', 300
Union All Select 6, N'油份值', 30
Union All Select 7, N'油份值', 30
Union All Select 8, N'油份值', 20
Union All Select 9, N'油份值', 50
Union All Select 10, N'油份值', 200
Union All Select 1, N'麦拉宁颊上', 300
Union All Select 2, N'麦拉宁颊上', 10
Union All Select 3, N'麦拉宁颊上', 40
Union All Select 4, N'麦拉宁颊上', 120
Union All Select 5, N'麦拉宁颊上', 10
Union All Select 6, N'麦拉宁颊上', 20
GO
--測試
Select
名称,
SUM(Case 序号 When 1 Then 值 Else 0 End) As [1],
SUM(Case 序号 When 2 Then 值 Else 0 End) As [2],
SUM(Case 序号 When 3 Then 值 Else 0 End) As [3],
SUM(Case 序号 When 4 Then 值 Else 0 End) As [4],
SUM(Case 序号 When 5 Then 值 Else 0 End) As [5],
SUM(Case 序号 When 6 Then 值 Else 0 End) As [6],
SUM(Case 序号 When 7 Then 值 Else 0 End) As [7],
SUM(Case 序号 When 8 Then 值 Else 0 End) As [8],
SUM(Case 序号 When 9 Then 值 Else 0 End) As [9],
SUM(Case 序号 When 10 Then 值 Else 0 End) As [10]
From
表
Group By
名称
GO
--刪除測試環境
Drop Table 表
--結果
/*
名称 1 2 3 4 5 6 7 8 9 10
水份值 201 150 120 150 120 120 120 100 100 10
油份值 300 200 300 300 300 30 30 20 50 200
麦拉宁颊上 300 10 40 120 10 20 0 0 0 0
*/
名称,
SUM(Case 序号 When 1 Then 值 Else 0 End) As [1],
SUM(Case 序号 When 2 Then 值 Else 0 End) As [2],
SUM(Case 序号 When 3 Then 值 Else 0 End) As [3],
SUM(Case 序号 When 4 Then 值 Else 0 End) As [4],
SUM(Case 序号 When 5 Then 值 Else 0 End) As [5],
SUM(Case 序号 When 6 Then 值 Else 0 End) As [6],
SUM(Case 序号 When 7 Then 值 Else 0 End) As [7],
SUM(Case 序号 When 8 Then 值 Else 0 End) As [8],
SUM(Case 序号 When 9 Then 值 Else 0 End) As [9],
SUM(Case 序号 When 10 Then 值 Else 0 End) As [10]
From
表
Group By
名称
无法sum
有个问题我的值字段是自符型的
无法sum
----------------
我上面有寫不是數字型的時候的方法,你沒仔細看。
不過,修改下。Select
名称,
Max(Case 序号 When 1 Then 值 Else '' End) As [1],
Max(Case 序号 When 2 Then 值 Else '' End) As [2],
Max(Case 序号 When 3 Then 值 Else '' End) As [3],
Max(Case 序号 When 4 Then 值 Else '' End) As [4],
Max(Case 序号 When 5 Then 值 Else '' End) As [5],
Max(Case 序号 When 6 Then 值 Else '' End) As [6],
Max(Case 序号 When 7 Then 值 Else '' End) As [7],
Max(Case 序号 When 8 Then 值 Else '' End) As [8],
Max(Case 序号 When 9 Then 值 Else '' End) As [9],
Max(Case 序号 When 10 Then 值 Else '' End) As [10]
From
表
Group By
名称
是条好鱼......不知道味道怎么样--------------
Fish is our friend, we can't eat it.