create table tb(id int, value varchar(10)) insert into tb values(1, 'aa') insert into tb values(1, 'bb') insert into tb values(2, 'aaa') insert into tb values(2, 'bbb') insert into tb values(2, 'ccc') go create function [dbo].[f_str](@id int) returns nvarchar(1000) as begin declare @str nvarchar(1000) set @str = '' select @str = @str + ',' + cast(value as nvarchar(900)) from tb where id = @id set @str = right(@str , len(@str) - 1) return @str end go --調用函數 select id , value = dbo.f_str(id) from tb group by id