读书人

数据库中重复记录的字段合并有关问题

发布时间: 2012-02-01 16:58:19 作者: rapoo

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

读书人网 >SQL Server

热点推荐