gpt4 book ai didi

mysql - SQL 中的嵌套 IF 语句

转载 作者:行者123 更新时间:2023-11-29 12:19:39 24 4
gpt4 key购买 nike

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

=IF(AE20="",0,IF(AH20="",IF(AG20="",IF(AF20="",IF(AE20="","",AE20),AF20), AG20),AH20))

我做了一些研究,看来我需要使用 CASE,但在我发现的示例中,我仍然无法将上面的示例中使用的正确语法上的点连接起来。

我以为它会开始

选择案例当 ex_table.AE = ""

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

编辑

mysql 表称为best_estimate

我有以下字段:JCE_TOTAL、CDSI_TOTAL、INITIAL_TOTAL 和 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

关于mysql - SQL 中的嵌套 IF 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29217528/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com