簡體   English   中英

評估 SQL CASE 中的無結果條件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM