表 tab Aid 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 求教, 用存储过程实现最好, 其他的也行.
1 100 a
2 100 b
3 200 c
4 200 d
5 300 e要求得到结果name valuelist
100 ab
200 bc
300 e 求教, 用存储过程实现最好, 其他的也行.
解决方案 »
- win7旗舰版32位的应该安装SQL2008的哪个版本?
- 我的是xp home版,安装了visual studio 2005.net 里面附带安装了sql server 2005 express版本,有个问题请教下.
- 100分求,我的企业管理器没用了,现在想重装sqlserver,该如何备份数据
- 救命啊!!大仙们!!!!!!!!
- 关于字段数据类型的问题?
- 求高效SQL
- 一个 求总合的查询语句
- 100分送DB2于SMS问题。~~~~~~~~~~
- 怎么让select 语句能执行多级查询?
- 操作数数据类型 varchar 对于 multiply 运算符无效
- sql2005连接db2数据库
- sqlserver2008动态行转列问题
select
Name,
valuelist=(select ''+value from A where Name=t.Name for xml path(''))
from A as t
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
/*
Name valuelist
100 ab
200 cd
300 e
*/