我需要一个脚本来更新VENINV
成本STOCK
STOCK
Stk_Invno=sku
Stk_cost=cost
VENINV
Vin_Invno=sku
Vin_cost=cost
我需要将成本更新VENINV
为STOCK
我需要成本是为 sku 找到的最高成本,VENINV
以更新库存中所有匹配 sku 记录的成本 如何加入和更新?
提前致谢。
我需要一个脚本来更新VENINV
成本STOCK
STOCK
Stk_Invno=sku
Stk_cost=cost
VENINV
Vin_Invno=sku
Vin_cost=cost
我需要将成本更新VENINV
为STOCK
我需要成本是为 sku 找到的最高成本,VENINV
以更新库存中所有匹配 sku 记录的成本 如何加入和更新?
提前致谢。
If I understand correctly what you want to accomplish you can try
UPDATE Stock
SET Stk_cost =
(SELECT MAX(Vin_cost)
FROM VENINV
WHERE Vin_Invno = Stk_Invno)
Here is sqlfiddle SQLServer
试试这个查询:
update STOCK
set Stk_cost = isnull((select top (1) v.Vin_cost from VENINV v
where v.Vin_Invno = Stk_Invno),Stk_cost)
我已经检查过了,这工作正常。
你在找这样的东西吗?我理解正确吗?
update T1
set T1.Field = T2.Field
from Table1 T1
inner join Table2 T2 on T1.SomeId = T2.SomeJoiningId
或者在你的情况下,它应该是:
UPDATE STOCK
SET STOCK.Stk_Cost = VENINV.Vin_Cost
FROM STOCK
INNER JOIN VENINV.Vin_Invno = STOCK.Stk_Invno