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