2017-02-08 16 views
0

を更新すると、これが可能かどうか、そして構文が正しいかどうかを誰かが確認できたらうれしいです。ご協力いただきありがとうございます。 GAVToad/Oracle SQLを使用して、選択と結合で

UPDATE IYP_MOVE_GS.NET_VALUE_LAST SET 
SELECT IYP_LIVE_ORDERLINES.SALES_DOC_NO || IYP_LIVE_ORDERLINES.LINE_ITEM AS KEYCODE2 
       , IYP_LIVE_ORDERLINES.NET_VALUE 
      FROM IYP_LIVE_ORDERLINES 
      WHERE IYP_LIVE_ORDERLINES.LIVE_DATE = '20170131' 
JOIN ON  
     IYP_MOVE_GS.KEYCODE = IYP_LIVE_ORDERLINES.SALES_DOC_NO || IYP_LIVE_ORDERLINES.LINE_ITEM 
+0

あなたの構文が正しくありません。 Oracleは 'JOIN'で' FROM'をサポートしていません。 –

+0

ここでは、結合を更新するための正しい構文について説明します:http://stackoverflow.com/documentation/oracle/8061/update-with-joins#t=201702081750128269372 – mathguy

答えて

1

私はあなたがこのケースでMERGEを使用することができると思う:

merge into iyp_move_gs a 
using (
    select 
     sales_doc_no || line_item as keycode, 
     net_value 
    from iyp_live_orderlines 
    where live_date = '20170131' 
) b on (
    a.keycode = b.keycode 
) when matched update set a.net_value_last = b.net_value; 
+0

助けていただきありがとうございます。あなたの助け。 – Gavin

関連する問題