数据库中重复记录的字段合并问题,求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