根据另一个表中的数据在一个表中创建条目

时间:2019-11-05 09:10:49

标签: sql sql-server

我正在尝试根据第二张表中的条目创建第二张表中的条目。

即我有2张桌子。

表一包含有关发起人和电子邮件等的信息 表2包含链接到表1中每个条目的ID的安全密钥的详细信息

所以表1看起来像这样#

ID  NAME    GROUPID DISTLIST    EMAIl
1   Entry1  Bird    Avian       a@b
2   Entry2  Dog     Canine      b@c
3   Entry3  Cat     Feline      c@d
4   Entry4  Bird    Avian       a@b
5   Entry5  Dog     Canine      b@c
6   Entry6  Cat     Feline      c@d
7   Entry7  Bird    Avian       a@b
8   Entry8  Dog     Canine      b@c
9   Entry9  Cat     Feline      c@d
10  Entry10 Moose   Big         a@b

大约有200个groupid。

表2看起来像这样#

ID  TABLE1ID    Key 
1   10         hbfdvhfvsdffrfewfwef
2   5          omnoregnonerognoe    
3   3          754lwsncvhtyroe0
4   2          nvjddopeithdfnn
5   6          nvjddopeithdfnn
6   1          omnoregnonerognoe

现在我要做的是为表1中的每个ID在表2中插入一行包含其键的行。

此键对于表1中一个组下的每个条目都可以相同,因此我想在表2中为表1中的每个ID添加行,表1中的groupid是dog。

因此,将每个Table1.id的表2 ID,Table1group,键插入表2,其中table1.groupid = dog(这不是代码,只是我正在寻找的命令结构的视图)

我为此在SQL上苦苦挣扎,任何帮助将是最有帮助的,因为我要创建18个表,每个供应表1中都有1000多个条目

我可以并且已经使用手动插入命令将大量数据添加到表2:

insert into [table2].[App].[ApiKeys] with (rowlock)

  ([originatorId],[apiKey],[apiSecret]) VALUES ('1000346','xxxxxxxxxxxxxxxxxxxxxxxxxx','yyyyyyyyyyyyyyyyyyyyyyyyyyyy')

但这将花费我数天甚至数周的时间。

2 个答案:

答案 0 :(得分:0)

对不起-这不是真正的答案。我想检查一下您是否可以将INSERT与SELECT一起使用。例如,您可以执行此操作...

INSERT INTO table2(originatorId,apiKey,apiSecret)
  SELECT id, 'xxxxxxxxxxxxxxxxxxxxxxxxxx','yyyyyyyyyyyyyyyyyyyyyyyyyyyy'
    FROM table1

如果您有关于api密钥和秘密来自何处的更多信息,我可以编辑此答案。

答案 1 :(得分:0)

所以我错过了您可以在insert语句中使用select语句的事实。有点基本的思念,现在感觉像个白痴