gpt4 book ai didi

sql - 使用子选择更新 - 如何处理 NULL 值?

转载 作者:行者123 更新时间:2023-12-02 10:13:01 25 4
gpt4 key购买 nike

我正在尝试使用可能返回 null 的条件子选择进行更新...

UPDATE 
aTable SET
aColumn =
(
SELECT TOP 1
CASE
WHEN bTable.someColumn = 1 THEN someValue1
WHEN bTable.someColumn = 2 THEN someValue2
ELSE someValue3
END
FROM
bTable
WHERE
bTable = @someCriteria
ORDER BY
someSortColumn
) WHERE
aTable.id = @someId;

如果“bTable = @someCriteria”子句导致 SELECT 没有返回结果,它会尝试将 NULL 插入“aColumn”,在本例中为 NOT NULL 列。

问题

在这种情况下,如何让它简单地保留“aColumn”?

非常感谢。

最佳答案

...
aColumn =

ISNULL(
(
SELECT TOP 1
CASE
WHEN bTable.someColumn = 1 THEN someValue1
WHEN bTable.someColumn = 2 THEN someValue2
ELSE someValue3
END
FROM
bTable
WHERE
bTable = @someCriteria
ORDER BY
someSortColumn
), aColumn)
...

关于sql - 使用子选择更新 - 如何处理 NULL 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6384360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com