[英]Evaluate no result condition in SQL CASE
我想使用 SQL CASE 關鍵字來評估內部查詢的結果,特別是檢查是否沒有記錄:
偽代碼:
UPDATE tableA AS outerTable
SET field = CASE
WHEN (
SELECT *
FROM tableB
WHERE innerField = outerTable.field
) IS [doesn't have result]
THEN (
...
)
ELSE "default"
END
我該如何編碼這種情況? 我試過IS NULL
但它似乎不起作用(標量子查詢產生了不止一個元素)
您正在尋找NOT EXISTS
:
WHEN NOT EXISTS (SELECT *
FROM tableB b
WHERE b.innerField = outerTable.field
)
THEN . . .
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.