--先在数据库中创建一个函数:create function test(@字段1 int) returns varchar(8000) as begin declare @str varchar(8000) set @str='' select @str=@str+cast(字段2 as varchar) from table where 字段1=@字段1 --set @str=right(@str,len(@str)+10) return(@str) End go --调用自定义函数得到结果 select distinct 字段1,dbo.test(字段1) as 别名 from table
错了,这个是对的--先在数据库中创建一个函数:create function test(@字段1 int) returns varchar(8000) as begin declare @str varchar(8000) set @str='' select @str=@str+cast(字段2 as varchar) from table where 字段1=@字段1 return(@str) End go --调用自定义函数得到结果 select distinct 字段1,dbo.test(字段1) as 别名 from table
楼上办法明白。 只是 最后结果只有两个字段了 能不能达到如下效果啊?字段1 字段2 字段3 字段4 字段5 001 A B C 002 D E 003 F G H I
001 002 003
A D F
B E G
C H
I
returns varchar(8000)
as
begin
declare @str varchar(8000)
set @str=''
select @str=@str+cast(字段2 as varchar) from table where 字段1=@字段1 --set @str=right(@str,len(@str)+10)
return(@str)
End
go
--调用自定义函数得到结果
select distinct 字段1,dbo.test(字段1) as 别名 from table
returns varchar(8000)
as
begin
declare @str varchar(8000)
set @str=''
select @str=@str+cast(字段2 as varchar) from table where 字段1=@字段1
return(@str)
End
go
--调用自定义函数得到结果
select distinct 字段1,dbo.test(字段1) as 别名 from table
只是 最后结果只有两个字段了
能不能达到如下效果啊?字段1 字段2 字段3 字段4 字段5
001 A B C
002 D E
003 F G H I