簡體   English   中英

用case語句編寫子查詢

[英]Writing a subquery with a case statement

從這個查詢

SELECT *, 
CASE WHEN STATUS = ONE THEN STATUS 
WHEN STATUS = TWO THEN STATUS 
WHEN ONE = TWO THEN ONE 
ELSE NULL END answer FROM TABLE1

我如何基於“答案”獲取行,假設我想要一個where條件,如...where answer='yes' ,我該如何編寫該子查詢

編輯1:

上述查詢的示例表輸出:

|STATUS |ONE    |TWO    |answer
|NO     |NO     |YES    |NO
|YES    |YES    |NO     |YES
|NO     |NO     |NO     |NO

預期輸出,其中條件為“答案”(例如,答案為“是”的情況)

|STATUS |ONE    |TWO    |answer
|YES    |YES    |NO     |YES

您沒有發布表結構,但是根據示例輸出,我假設有3列名為status列, one列和two列如SQL Fiddle所示

如果是這樣的話。 以下查詢可能對您有用。

SELECT *, 
CASE WHEN status = one THEN status
WHEN status = two THEN status
WHEN one = two THEN one 
ELSE NULL END answer 
FROM `TABLE1` 
HAVING answer='YES';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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