您的位置:首页 > 服装鞋帽 > 女装 > SQL 行数据合并

SQL 行数据合并

luyued 发布于 2011-03-20 20:35   浏览 N 次  

现在是这样:

ID VALUE
row1 1 a b
row2 1 b c
row3 1 k l


想得到的结果是:
1 a b b c k l
更好的结果是能取到不重复项:
1 a b c k l

解决方案如下:

--建立测试环境
create table tb2 (id int,type nvarchar(10))
insert into tb2 select 1,'a'
insert into tb2 select 1,'a'
insert into tb2 select 1,'c'
insert into tb2 select 1,'d'
insert into tb2 select 2,'a'
insert into tb2 select 3,'b'
insert into tb2 select 4,'c'
insert into tb2 select 4,'d'
go
--查询处理
create function f_catString(@id int)
returns nvarchar(1000)
as
begin
declare @s nvarchar(1000)
set @s=''
select @s=@s+' '+type from tb2 where id=@id
return(stuff(@s,1,1,''))
end
go
--调用函数
select id,dbo.f_catString(id) as type from tb2 group by id
go
--删除测试环境
drop function f_catstring
Drop Table tb2

上一篇:单击显示不同表格 下一篇:TB2
图文资讯
广告赞助商