[英]Copying rows from one into another table in SQL
我有兩個數據庫-db1和db2,如下所示:
db1..Model
ModelId ModelName
0 BMW
db1..Category
CategoryId CategoryName
0 Undercarriage
1 Engine
db1..ItemList
ModelId CategoryId DataId Name
0 0 1 cap
0 0 2 cushion
0 0 3 spacer
0 1 1 cushion
然后,我將模型和類別從db1復制到db2:
db2..Model
Id ModelName
1 BMW
db2..Category
Id CategoryName
1 Undercarriage
2 Engine
我如何將記錄寫到db2..Item中,以便行應像這樣:
Id ModelId CategoryId DataId Name
1 1 1 1 cap
2 1 1 2 cushion
3 1 1 3 spacer
4 1 2 1 cushion
假設db1和db2在同一台服務器上,則應如下所示:
INSERT INTO db2.dbo.Item (ModelId, CategoryId, DataId, Name)
SELECT
(
SELECT Model.Id
FROM db2.dbo.Model
WHERE db2.dbo.Model.ModelName = (
SELECT Model.ModelName
FROM db1.dbo.Model
WHERE Model.ModelId = ItemList.ModelId
)
)
(
SELECT Category.Id
FROM db2.dbo.Category
WHERE db2.dbo.Category.CategoryName = (
SELECT Category.CategoryName
FROM db1.dbo.Category
WHERE Category.CategoryId = ItemList.CategoryId
)
)
DataId,
Name
FROM db1.dbo.ItemList
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.