只有当返回一个特定的字段时更新SQL Server语句
问题描述:
我正在尝试执行一个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'
答
在此提出问题的方式是有点混乱,如问题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'
编辑你的问题,并提供样本数据和预期的结果。 –