数据库查询结果拼接

基于SQLServer!

首先先建一个测试表,演示下效果.

create table textDB

(

    id int, 

    value varchar(10)

) 

insert into textDB values(1, 'aa') 

insert into textDB values(1, 'bb') 

insert into textDB values(2, 'aaa') 

insert into textDB values(2, 'bbb') 

insert into textDB values(2, 'ccc') 

然后

select * from textDB

结果看此图:

image

而需要的效果是:

image

还是不明白我要做什么,那就使劲看图~

需要使用的一个function:

create function [dbo].[f_function](@id int) returns nvarchar(1000)

as

begin

declare @str nvarchar(1000);

set @str = '';

select @str = @str + ',' + cast(value as nvarchar(900)) from textDB where id = @id;

set @str = right(@str , len(@str) - 1);

return @str;

end

然后运行下面的select语句:

select id , value = dbo.f_function(id) from textDB group by id

即可。

你可能感兴趣的:(数据库)