[英]MySQL Multiple condition on multiple columns in one case
是否有可能在一種情況下我嘗試使用此方法在多個列上獲得多個條件..它沒有產生任何錯誤,但結果不正確。 我應該使用其他嗎?
SELECT
p.name,
p.is_deleted,
( CASE WHEN pro.is_active = 1 THEN 'Active'
WHEN pro.is_del = 1 THEN 'Not Active-Promotion Deleted'
WHEN p.is_active = 0 THEN 'Not Active-Page Inactive'
WHEN p.is_deleted = 1 THEN 'Not Active-Page Deleted'
END) AS 'Status'
FROM
page_promotions pro
INNER JOIN pages p
ON pro.page_id = p.pages_id
CASE語句從頭到尾評估。 案件一經解決,該陳述即告終止。 您可能需要為每種情況添加其他子句,或對其重新排序,以實現所需的結果。
這是SQL的行為:
在每種情況下添加一些附加條件或對其重新排序以獲得正確的結果
在你的情況下獲得欲望輸出
SELECT
p.name,
p.is_deleted,
( CASE WHEN p.is_active = 0 THEN 'Not Active-Page Inactive'
WHEN p.is_deleted = 1 THEN 'Not Active-Page Deleted'
WHEN pro.is_del = 1 THEN 'Not Active-Promotion Deleted'
WHEN pro.is_active = 1 THEN 'Active'
END) AS 'Status'
FROM
page_promotions pro
INNER JOIN pages p
ON pro.page_id = p.pages_id
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.