簡體   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