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

数据库中重复记录的字段合并有关问题,求SQL语句?

2012-02-01 
数据库中重复记录的字段合并问题,求SQL语句???比如数据库中有表如下姓名小班四致界限张三1号张三东南西北1

数据库中重复记录的字段合并问题,求SQL语句???
比如数据库中有表如下
  姓名       小班         四致界限  
  张三         1号         张三东南西北1号        
  张三         2号         张三东南西北2号  
  李四         1号         李四东南西北1号      
  张三         3号         张三东南西北3号
  李四         2号         李四东南西北2号        

处理后的记录
  姓名                                 小班                                             四致界限
  张三                           1号2号3号     张三东南西北1号张三东南西北2号张三东南西北3号
  李四                             1号2号                 李四东南西北1号李四东南西北2号  

上面的例子只是特例,可能张三有8号或者更多,能否给个这样的查询语句或者其他实现这样的功能?分少还可以加加   ,谢谢!

[解决办法]
用函数或临时表:

create function test_f2(@Name nvarchar(50))
returns nvarchar(1000)
as
begin
declare @s nvarchar(1000)
select @s=isnull(@s+ ', ', ' ')+小班 from table1 where 姓名=@Name
return @s
end
go
create function test_f(@Name nvarchar(50))
returns nvarchar(1000)
as
begin
declare @s nvarchar(1000)
select @s=isnull(@s+ ', ', ' ')+四致界限 from table1 where 姓名=@Name
return @s
end
select distinct 姓名,小班=dbo.test_f(姓名),四致界限=dbo.test_f2(姓名) from table1

热点排行