gpt4 book ai didi

mysql - MYSQL 中的 CASE 表达式可以实现吗?

转载 作者:行者123 更新时间:2023-11-29 14:51:16 25 4
gpt4 key购买 nike

我读到的有关使用 CASE 的所有内容都意味着只能更改它引用的列中各个字段的内容。有没有办法引用另一个表中的字段?

而不是(只是使用互联网上的随机示例)

SELECT daysName,
CASE daysName
WHEN "Sunday" THEN "Holiday"

我想要这样的东西:

CASE table1.column1   
WHEN table3.column1 = "Yes" THEN table1.column1 + 80

如果没有,我该怎么做?

这些表有主键和外键,因此我可以使用联接。

最佳答案

看起来您可以将 case 表达式转换为

CASE table3.column1
WHEN 'Yes' THEN (table1.column1 + 80)
ELSE table1.column1
END

或者,您可以使用IF:

table1.column1 + IF(table3.column1 = 'Yes', 80, 0)

当然,无论哪种方式,您都需要加入table3,并且您可能希望为该值指定一个别名,因为它不再严格是数据库中的一个字段。 (MySQL 将返回整个表达式作为列名。)

关于mysql - MYSQL 中的 CASE 表达式可以实现吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5695813/

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