将一个表的完整列数据插入Microsoft SQL中另一个表中的特定列

时间:2013-07-17 09:25:30

标签: sql sql-server insert

我在Microsfot SQL Server中有两个表COMPONENTS(sno,comp_name,quantity,costperunit,totalcost)COST(sno,comp_name,costperunit) ..

我提示用户输入costperunit值并立即在COST表中更新。 我想将costperunit列的所有值从COMPONENTS表导入COST

我试过这个:

insert into COMPONENTS(costperunit) 
    select costperunit from COST where COST.sno=COMPONENTS.sno

但我无法达到所需的功能。

有人请建议我更好地查询这样做.. 在此先感谢..

1 个答案:

答案 0 :(得分:0)

如果要更新(!)所有值,为什么要插入?尝试使用“从选择更新”的方式:

UPDATE components
SET components.costperunit=cost.costperunit
FROM cost
INNER JOIN components ON cost.sno=components.sno

更好的是添加WHERE子句以仅更新更改的值: