组合来自两个SQL表的数据,在另一个表中创建新条目

组合来自两个SQL表的数据,在另一个表中创建新条目,sql,Sql,我有三个SQL表,如下所示,第一个名为“repairparts”: repairparts ----------------------------------- ID Part Quantity 1 AAA1000 1 2 AAB1000 1 3 AAC1000 1 第二个名为“partslist”: partslist ------------------------------------ Part

我有三个SQL表,如下所示,第一个名为“repairparts”:

repairparts
-----------------------------------
ID    Part         Quantity
1     AAA1000      1
2     AAB1000      1
3     AAC1000      1
第二个名为“partslist”:

partslist
------------------------------------
Part       Price
AAA1000    1.50
AAB1000    3.00
AAC1000    2.00
现在只给ID值“1”,我希望能够从第一个名为“repairparts”的表中获取与该ID链接的零件号和数量,并将其与第二个名为“partslist”的表中相同零件号的价格相结合,然后将这四条数据插入第三个名为“estimateparts”的表中

因此,结果是将其插入名为“estimateparts”的表中:

estimateparts
-----------------------------------
ID   Part       Quantity    Price
1    AAA1000   1           1.50
我已经读到应该使用UNION函数,并尝试了以下方法,但它没有任何作用:

INSERT INTO estimateparts (ID, Part, Quantity, Price) 
SELECT ID, Part, Quantity FROM repairparts WHERE ID='1' 
UNION SELECT Price FROM partslist WHERE Part=repairparts.Part
非常感谢您能提供的任何建议


谢谢。

如果我没有遗漏什么,听起来你想要一个简单的加入:

select rp.id, rp.part, rp.quantity, pl.price
from repairparts rp join
     partslist pl
     on rp.part = pl.part
where rp.id = 1;

如果我没有遗漏什么,听起来你想要一个简单的连接:

select rp.id, rp.part, rp.quantity, pl.price
from repairparts rp join
     partslist pl
     on rp.part = pl.part
where rp.id = 1;

不要将数据从一个表复制到另一个表。改为创建一个视图,它将始终是最新的。不要将数据从一个表复制到另一个表。而是创建一个视图,它将始终是最新的。