1

コストを から に更新するスクリプトが必要VENINVですSTOCK

STOCK 
Stk_Invno=sku
Stk_cost=cost

VENINV
Vin_Invno=sku
Vin_cost=cost

のコストを更新するVENINV必要STOCK がある SKU で見つかった最高のコストを取得しVENINVて、Stock 内の一致するすべての SKU レコードのコストを更新する必要があります 参加して更新するにはどうすればよいですか?

前もって感謝します。

4

3 に答える 3

1

あなたが達成したいことを私が正しく理解しているなら、あなたは試すことができます

UPDATE Stock
SET Stk_cost = 
(SELECT MAX(Vin_cost) 
   FROM VENINV 
  WHERE Vin_Invno = Stk_Invno)

これがsqlfiddle SQLServerです

于 2013-02-14T05:19:54.967 に答える
0

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
于 2013-02-14T04:52:56.717 に答える
0

このクエリを試してください:

update STOCK 
set Stk_cost = isnull((select top (1) v.Vin_cost from VENINV v 
where v.Vin_Invno = Stk_Invno),Stk_cost)

私はそれをチェックしました、そしてこれはうまくいきます。

于 2013-02-14T05:32:46.957 に答える