使用另一个表中的内容更新SQL Server表

时间:2016-03-02 20:12:16

标签: sql sql-server

我需要用另一个的内容填充SQL Server表的内容。

我有一个表Document Items,其中包含(比方说)VendorPartNumberUnitCost列。

然后,我有另一张表PO ItemsVendorPartNumberUnitCost

我需要做些什么才能将DocumentItems中的相关列内容导入PO项目?

3 个答案:

答案 0 :(得分:1)

update dbo.[PO Items]

set 
    VendorPartNumber = di.VendorPartNumber,
    UnitCost = di.UnitCost
from DocumentItems di 

where [PO Items].[{key column name}] = di.[{key column name}]

答案 1 :(得分:0)

如果是一次性操作:

如果Part Oder Number是两个表中的唯一键,则可以使用源表中的sub select语句并将值设置为2nd table。

前:

update PO Items 
set VendorPartNumber = (select VendorPartNumber 
                        from Document Items 
                        where partOrdernumer = ?), 
    UnitCost = (select UnitCost 
                from Document Items 
                where partOrdernumer = ?) 
where partOrdernumer = ?

否则使用触发器来更新第二个表。

答案 2 :(得分:-1)

您可以尝试:

insert into POItems (VendorPartNumber, UnitCost) values (select VendorPartNumber, UnitCost from DocumentItems); 

如果需要,可以添加where子句。