[英]Nested IF statement in SQL
我正在嘗試重新創建在SQL查詢中的excel中使用的以下嵌套IF語句:
= IF(AE20 = “”,0,IF(AH20 = “”,IF(Ag 2 O的= “”,IF(AF20 = “”,IF(AE20 = “”, “”,AE20),AF20),Ag 2 O的), AH20))
我進行了一些研究,似乎需要使用CASE,但是在示例中,我仍然無法使用上述示例中的正確語法連接點。
我以為它會開始為
ex_table.AE =“”時選擇大小寫
而且我不確定從那里去哪里。 我感謝您的幫助!
編輯
mysql表稱為best_estimate
。
我有以下字段: JCE_TOTAL, CDSI_TOTAL, INITIAL_TOTAL and FINAL_TOTAL
。
我希望我的SQL查詢能夠遍歷這些列並選擇最新的可用值(這些值隨着時間的流逝而變得可用,按照上面列出的順序)。
如果FINAL_TOTAL中有一個值,則應選擇FINAL_TOTAL中的值。
如果FINAL_TOTAL為空白,但INITIAL_TOTAL中有一個值,則應選擇該值。
如果這兩個字段都為空,但CDSI_TOTAL有一個值,則應選擇CDSI_TOTAL,依此類推。
如果所有字段均為空白,則結果應為0
如果我正確地確定了您的目標,則無需執行此大型嵌套的CASE
語句。 有很多簡單的方法:
SELECT COALESCE(AE, AH, AG, ...) AS my_value
FROM my_table
因此,根據您的評論,您的查詢可能像:
SELECT COALESCE(FINAL_TOTAL, INITIAL_TOTAL, CDSI_TOTAL, JCE_TOTAL, 0 ) AS my_value
FROM best_estimate
編輯
SELECT
OFS_ID,
COALESCE(FINAL_TOTAL, INITIAL_TOTAL, CDSI_TOTAL, JCE_TOTAL, 0 ) AS my_value
FROM best_estimate
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.