2017-10-04 86 views
-1

我正在嘗試執行一個UPDATE語句,其中PRICE_CURRENCY應該只填充Initial_Price時用'U'填充,它也可以填充其他字段。我試圖在查詢中使用EXISTS,但我不知道是否會首先檢查Initial_Price是否已填充,然後使用'U'更新PRICE_CURRENCY。只有當返回一個特定的字段時更新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

在此提出問題的方式是有點混亂,如問題SQL語句不使用則Word並沒有關於表CALYPSO沒有解釋。

如果我正確理解了這個問題,只有在尚未設置[我假設它是可空字段的情況下]以及[CALYPSO]中的記錄設置爲[U]時,[Price_Currency]表的[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' 
相關問題