使用SQL用另一个表的PK值填充字段

时间:2019-01-30 02:55:39

标签: sql ms-access ms-access-2016

我有一个表Sales,其中包含一个名为VendorName的字段,并且添加了另一个名为VendorID的字段,该字段是表Vendors的FK。如何填写Sales表中的VendorID字段,以便它使用SQL输入与VendorName对应的相应VendorID?

3 个答案:

答案 0 :(得分:0)

您可以使用相关子查询:

update sales
    set vendorid = (select v.vendorid from vendors as v where v.vendorName = sales.vendorName);

答案 1 :(得分:0)

这应该有效:

UPDATE SALES
INNER JOIN VENDORS ON SALES.VendorName = VENDORS.VendorName
SET SALES.VendorID = VENDORS.VendorID

答案 2 :(得分:0)

在CTE或Temptable中都有结果集(salesID,VendorsID),​​并在加入条件下使用它。

;with temp as ( select salesID, VendorsID from sales s join vendors v on s.vendorName =v.vendorName ) update sales set vendorid =t.VendorsID form sales s join temp t on s.salesID =t.salesID