首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

MS SQL 存储过程实现,该如何处理

2012-03-29 
MS SQL 存储过程实现表 tab Aidname value1100a2100b3200c4200d5300e要求得到结果name valuelist100ab200b

MS SQL 存储过程实现
表 tab A

id name value
1 100 a
2 100 b
3 200 c
4 200 d
5 300 e

要求得到结果

name valuelist
100 ab
200 bc
300 e

  求教, 用存储过程实现最好, 其他的也行.

[解决办法]
use Tempdb
go
--> --> 
 
if not object_id(N'A') is null
drop table A
Go
Create table A([id] int,[name] int,[value] nvarchar(1))
Insert A
select 1,100,N'a' union all
select 2,100,N'b' union all
select 3,200,N'c' union all
select 4,200,N'd' union all
select 5,300,N'e'
Go
select 
Name,
valuelist=(select ''+value from A where Name=t.Name for xml path(''))
from A as t
GROUP BY Name
/*
Namevaluelist
100ab
200cd
300e
*/

热点排行