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
希望能有帮助