SQL中嵌套的IF语句

我正试图重新创build以下嵌套的IF语句,我正在使用SQL查询中的Excel中:

= IF(AE20 = “”,0,IF(AH20 = “”,IF(Ag 2 O的= “”,IF(AF20 = “”,IF(AE20 = “”, “”,AE20),AF20),Ag 2 O的), AH20))

我做了一些研究,似乎我需要使用CASE,但在例子中,我发现我仍然无法连接正确的语法使用上面的例子。

我以为它会开始

select案例当ex_table.AE =“”

我不知道该从哪里去。 我感谢您的帮助!

编辑

mysql表被称为best_estimate

我有以下字段: JCE_TOTAL, CDSI_TOTAL, INITIAL_TOTAL and FINAL_TOTAL

我希望我的SQL查询通过这些列,并select最新的值(随着时间的推移,按上面列出的顺序值可用)。

如果在FINAL_TOTAL中有一个值,它应该selectFINAL_TOTAL中的值。

如果FINAL_TOTAL为空,但INITIAL_TOTAL中有值,则应select该值。

如果这两个字段都是空白的,但是CDSI_TOTAL有一个值,则应该selectCDSI_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