繁体   English   中英

SQL大量插入基于从另一个表提取的数据

[英]SQL mass insert based off of data pulled from another table

我真的不知道我的措词是否正确,但是我会尽力解释我想要什么。

Table 1 - X
id | name | blah

Table 2 - Y
id | Xid | configKey | ConfigVal

我想做的是,在表2中为表1中的所有内容创建一行,其中表1中的对应id进入表2中的Xid列。我来自Java背景,对SQL不太热衷,所以不太确定如何执行此操作。 表1中有很多行,这就是为什么我要编写脚本。

我非常想做这样的事情:

Table1 (the object table)
1 test1 a
2 test3 b
3 testn n

运行查询以填充它

Table 2 (the config table)
...exisitng rows
59 1 doSomething true
60 2 doSomething true
61 3 doSomething true

因此,我几乎要添加一个配置行(所有相同的值),除了它对应的ID(表2中的第2列应为表1中的第1列)

谢谢

要对所有插入的记录使用固定值'doSomething'和'true':

insert into table2 (Xid, configKey, ConfigVal)
select id, 'doSomething', 'true'
from table1

使用“ 选择”进入该链接的是SQL Server语法,该语法因服务器而异,但格式通常非常接近。

SQL Server

 select id as Xid, value as name, 'other value' as blah  INTO TABLE1 from TABLE2

我的SQL

 INSERT INTO table1 (id, name,other_value)
SELECT xid, value, 'another value' as other_value from TABLE2

这是一个SQL教程,引导您完成整个过程。

我认为这可能有效

Insert into table2(xid, value)
select id, name from table1.

但是您必须在table2中具有Id列作为标识,或者必须为其提供默认值。 (不过,这仅适用于sql server。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM