コストを から に更新するスクリプトが必要VENINV
ですSTOCK
STOCK
Stk_Invno=sku
Stk_cost=cost
VENINV
Vin_Invno=sku
Vin_cost=cost
のコストを更新するVENINV
必要STOCK
がある SKU で見つかった最高のコストを取得しVENINV
て、Stock 内の一致するすべての SKU レコードのコストを更新する必要があります 参加して更新するにはどうすればよいですか?
前もって感謝します。
コストを から に更新するスクリプトが必要VENINV
ですSTOCK
STOCK
Stk_Invno=sku
Stk_cost=cost
VENINV
Vin_Invno=sku
Vin_cost=cost
のコストを更新するVENINV
必要STOCK
がある SKU で見つかった最高のコストを取得しVENINV
て、Stock 内の一致するすべての SKU レコードのコストを更新する必要があります 参加して更新するにはどうすればよいですか?
前もって感謝します。
あなたが達成したいことを私が正しく理解しているなら、あなたは試すことができます
UPDATE Stock
SET Stk_cost =
(SELECT MAX(Vin_cost)
FROM VENINV
WHERE Vin_Invno = Stk_Invno)
これがsqlfiddle SQLServerです
Is something like this what you're looking for ? Did I understood you correctly ?
update T1
set T1.Field = T2.Field
from Table1 T1
inner join Table2 T2 on T1.SomeId = T2.SomeJoiningId
Or In your case, it should be:
UPDATE STOCK
SET STOCK.Stk_Cost = VENINV.Vin_Cost
FROM STOCK
INNER JOIN VENINV.Vin_Invno = STOCK.Stk_Invno
このクエリを試してください:
update STOCK
set Stk_cost = isnull((select top (1) v.Vin_cost from VENINV v
where v.Vin_Invno = Stk_Invno),Stk_cost)
私はそれをチェックしました、そしてこれはうまくいきます。