也可以使用游标
CREATE TABLE A
(
id int,
title varchar(20),
content varchar(20)
)
CREATE TABLE B
(
a_id int,
name varchar(20)
)
insert into A
SELECT 1,'a','aa' union all
SELECT 2,'b','bb' union all
SELECT 3,'c','cc'
insert into B
SELECT 1,'张三' union all
SELECT 1,'李四' union all
SELECT 2,'王二' union all
SELECT 3,'王一' union all
SELECT 3,'赵六' union all
SELECT 3,'钱二'
GO
create table #one(lid int, ltitle varchar(20),lcontent varchar(20),lname varchar(50))
declare @id int
declare @title varchar(20)
declare @content varchar(20)
declare @name varchar(100)
--SET @name = ''
declare curOne cursor for
select id,title,content from a
open curone
fetch next from curone into @id,@title,@content
while @@fetch_status = 0
begin
SET @name = ''
select @name = @name ',' name from b
where a_id = @id
set @name = stuff(@name,1,1,'')
--insert
insert into #one values(@id,@title,@content,@name)
fetch next from curone into @id,@title,@content
end
close curone
deallocate curone
select * from #one
drop table #one
drop table A,B