A表
AID TextAB表BID AID TextBB表中的多条记录对应A表中的一条记录,现要求把A表输出为一个表格,但是多了一个字段,内容为该项记录对应B表记录的合集,该怎么做AID TextA TextB
3 记录3 记录5*记录7*记录8
AID TextAB表BID AID TextBB表中的多条记录对应A表中的一条记录,现要求把A表输出为一个表格,但是多了一个字段,内容为该项记录对应B表记录的合集,该怎么做AID TextA TextB
3 记录3 记录5*记录7*记录8
(@id INT)
RETURNS VARCHAR(1000)
AS
BEGIN
DECLARE @s VARCHAR(8000)
SELECT @s=ISNULL(@s,'') + '*' + TextB FROM B表 WHERE BID=@ID
SET @s=STUFF(@s,1,1,'')
RETURN @s
END
SELECT AID,TextA,dbo.JoinGroup(AID) FROM A表未测试可能有手误
create table a(AID int,TextA varchar(10))
insert into a select 3,'记录3'create table b(BID int,AID int,TextB varchar(10))
insert into b select 1,3,'记录5'
union all select 2,3,'记录7'
union all select 3,3,'记录8'
gocreate function fc_str(@AID int)
returns varchar(8000)
asbegin
declare @sql varchar(8000)
set @sql=''
select @sql=@sql+'*'+cast(TextB as varchar(100)) from b where AID=@AID
return stuff(@sql,1,1,'')
end
goselect a.AID,TextA,dbo.fc_str(b.AID) as TextB from a,b where a.AID=b.AID group by a.AID,TextA,B.AIDdrop table a,b
drop function dbo.fc_str
A 红<br>B 蓝<br>C 绿<br>