2017-10-04 17 views
-1

私は、PRICE_CURRENCYにInitial_Priceが設定されている場合にのみ 'U'が設定されるべきUPDATEステートメントを実行しようとしています。クエリでEXISTSを使用しようとしましたが、Initial_Priceが入力されているかどうかを最初に確認してから、PRICE_CURRENCYを 'U'で更新するかどうかはわかりません。問題のSQLステートメントが存在するワードを使用していないと、テーブルCALYPSOについて何の説明がないよう特定のフィールドが返された場合のみ、UPDATE SQL Serverステートメント

UPDATE EMIR 
SET Price_Currency = 'U' 
from EMIR E 
     INNER JOIN CALYPSO cl 
     ON e.Internal_ID = cl.Trade_ID 
    AND e.Internal_ID_Type = 'CL' 
WHERE cl.Initial_Price = 'P' 
+2

編集あなたの質問をし、サンプルデータと望ましい結果を提供 - :

は、次のクエリを試してみてください。 –

答えて

2

質問がされている方法は少し混乱しています。

私が質問を正しく理解していれば、[Price_Currency]フィールドがまだ設定されていない場合にのみ( 'C')、 '[CALYPSO]テーブルには、その[Initial_Price]フィールドが 'P'に設定されています。

UPDATE EMIR 
    SET Price_Currency = 'U' 
    FROM EMIR E 
     INNER JOIN CALYPSO cl ON e.Internal_ID = cl.Trade_ID 
WHERE 
    cl.Initial_Price = 'P' 
    AND E.Price_Currency IS NULL 
    AND e.Internal_ID_Type = 'CL' 
関連する問題