gpt4 book ai didi

MYSQL 使用 INNER JOIN 和 if 更新表

转载 作者:行者123 更新时间:2023-11-29 18:13:01 27 4
gpt4 key购买 nike

我创建了一个使用 INNER JOIN 的 SQL 语句,但我还想添加当 gh.userGenbaStatus == 2 时额外更新 gh.userGenbaStatus 的情况

>
UPDATE manager.user u INNER JOIN manager.genbahistory gh
ON u.userId = gh.userId AND gh.genbaHistoryStatus = 1
SET u.userStatus = 5, gh.genbaHistoryStatus = 0
WHERE u.userId = #{userId}

if(gh.userGenbaStatus==2){
SET gh.userGenbaStatus = 1
}

我想要插入适合我的更新 SQL 语句的 if(){} 代码。我可以有任何建议或帮助吗?

最佳答案

您可以将 if 伪代码转换为使用 CASE 表达式:

UPDATE manager.user u
INNER JOIN manager.genbahistory gh
ON u.userId = gh.userId
SET
u.userStatus = 5,
gh.genbaHistoryStatus = 0,
gh.userGenbaStatus = CASE WHEN gh.userGenbaStatus = 2
THEN 1 ELSE gh.userGenbaStatus END
WHERE
gh.genbaHistoryStatus = 1 AND
u.userId = #{userId};

关于MYSQL 使用 INNER JOIN 和 if 更新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47245364/

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