[英]SQL Server 2008: populate a table with data from dynamic table
我有两个表Control1 (BatchID ,TableName)
和Control2(BatchID, MemID)
并且还有其他表将被一张一张地添加到数据库中。 表名的格式为ABC_date
,例如ABC_01032014
(动态)
现在,此表ABC_Date具有一个称为MemID
。
control1
和control2
是空表和abc_date
填充了比方说10 MemIds
。
所以,我想填充control1
和control2
。 Control1
将具有唯一的ID,并且tableName = ABC_date
DONE
control2
将具有相同的BatchID
为control1
,所有10 memIds
从ABC_Date
。 请帮助control2
。
现在它应该具有来自ABC_Date
所有10 memIDs
ABC_Date
和来自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
希望能帮助到你
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.