SQL Server 2008:使用动态表中的数据填充表

SQL Server 2008:使用动态表中的数据填充表,sql,sql-server-2008,database-table,Sql,Sql Server 2008,Database Table,我有两个表Control1(BatchID,TableName),Control2(BatchID,MemID),还有一些附加表将逐个添加到数据库中。表名的格式为ABC_date,例如ABC_01032014(动态) 现在,这个表ABC\u Date有一个名为MemID的列 control1和control2是空表,abc\u date由10个memid填充 因此,我想填充control1和control2控件1将具有唯一的ID和 tableName=ABC\u日期DONE control2将具

我有两个表
Control1(BatchID,TableName)
Control2(BatchID,MemID)
,还有一些附加表将逐个添加到数据库中。表名的格式为
ABC_date
,例如
ABC_01032014
(动态)

现在,这个表ABC\u Date有一个名为
MemID
的列

control1
control2
是空表,
abc\u date
由10个memid填充

因此,我想填充
control1
control2
<代码>控件1将具有唯一的ID和
tableName=ABC\u日期
DONE

control2
将具有与
control1
相同的
BatchID
,以及
ABC\u日期的所有
10个memID
。请帮助
control2

现在,它应该有来自
ABC\u日期的所有
10个memid
和来自
control1的1个相同的
batchID


谢谢

我不确定您是想要控件2中的10行,还是只想要一行用逗号分隔的memid,但我假设您想要10个寄存器

您可以使用光标为您执行此操作

Declare @BatchID
Declare @MemIdFetch

Set @BatchID = Select distinct BatchID from control1

--Declaration of the cursor
Declare CursorABC cursor for select MemID from ABC_date where BatchID = @BatchID

--Fetching the cursor
Fetch CursorABC into @MemIdFetch 

--Loop for the cursor 
WHILE(@@FETCH_STATUS = 0)
BEGIN
insert into control2 select @BatchID,@MemIdFetch

Fetch CursorABC into @MemIdFetch
END
希望能有帮助