仅当返回特定字段时,仅更新SQL Server语句



我正在尝试执行更新语句,其中只有在填充initial_price的情况下,Price_currency才能填充'u',它也可以与其他字段一起填充。我试图在查询中使用一个存在,但是我不知道这是否会首先检查initial_price是否填充了,然后用'u'更新price_currency。

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' 

问问题的方式有些混乱,因为问题中的sql语句不使用一个单词,也没有关于表Calypso的解释。

如果我正确理解了这个问题,则只有在尚未设置它时才将[Price_currency]字段设置为'u'还将其[初始_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'

最新更新