Bit rought around the edges!
Create Table TestII(IDi int,AID INT, [Name] Char(2))
GO
Insert TestII values(1,2,'ba')
Insert TestII values(2,2,'cr')
Insert TestII values(3,2,'de')
Insert TestII values(4,1,'ba')
Insert TestII values(5,3,'ba')
GO
Create Function TestIII(@intAID Int) returns char(100) as
Begin
Declare @v Varchar(100)
Set @v=''
Select @v=@v+[name]+','
From TestII
Where Aid=@intAid
If DataLength(@v)>0
Set @v=Left(@v,DataLength(@v)-1)
Return @v
End
GO
Select Distinct AID,dbo.TestIII(AID) From TestII
GO
Drop function testIII
Drop table testII
GO