不知道这个语句该怎么写?

MaDaHai 2007-07-27 08:55:11
一下记录

序号 名称 值
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笔的后面补空
这样结果该如何实现
...全文
162 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
paoluo 2007-07-27
  • 打赏
  • 举报
回复
Haiwer(海阔天空) ( ) 信誉:138 2007-7-27 11:02:42 得分: 0



是条好鱼......

不知道味道怎么样

--------------
Fish is our friend, we can't eat it.
MaDaHai 2007-07-27
  • 打赏
  • 举报
回复
ok 感谢paoluo(一天到晚游泳的鱼)
昵称被占用了 2007-07-27
  • 打赏
  • 举报
回复
是条好鱼......

不知道味道怎么样



昵称被占用了 2007-07-27
  • 打赏
  • 举报
回复
呵呵,鱼都给料到了
paoluo 2007-07-27
  • 打赏
  • 举报
回复
MaDaHai(大海) ( ) 信誉:100 2007-07-27 10:52:20 得分: 0


有个问题我的值字段是自符型的
无法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
名称
MaDaHai 2007-07-27
  • 打赏
  • 举报
回复
有个问题我的值字段是自符型的
无法sum
paoluo 2007-07-27
  • 打赏
  • 举报
回复
lt1129(修理地球),每次都復制答案,有意思嗎?
you_tube 2007-07-27
  • 打赏
  • 举报
回复
鱼不要那么快咯,分都让你抢光了。
lt1129 2007-07-27
  • 打赏
  • 举报
回复
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
名称
paoluo 2007-07-27
  • 打赏
  • 举报
回复
--創建測試環境
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
*/
paoluo 2007-07-27
  • 打赏
  • 举报
回复
--如果值不全是數字
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
名称
xmlquit 2007-07-27
  • 打赏
  • 举报
回复
大家都來搶魚的分啊。。。。讓他一個人這麼快。。。哈哈
zsforever 2007-07-27
  • 打赏
  • 举报
回复
鱼真快...
zsforever 2007-07-27
  • 打赏
  • 举报
回复
select 名称 ,
sum(case 序号 when 1 then 值 end) [1],
.......
sum(case 序号 when 10 then 值 end) [10]
from 表
group by 名称
paoluo 2007-07-27
  • 打赏
  • 举报
回复
你的是需要固定有11列數據,可以不用使用動態SQL語句,直接查詢即可。
paoluo 2007-07-27
  • 打赏
  • 举报
回复
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
名称

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧