gpt4 book ai didi

MySQL 查询更改行是否更高?

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

我有两个表 (account2017) 和 (account2018),我想在名称末尾添加 2其中一个表的 name 行,但前提是两个表包含相同的名称。为该名称添加 2,该名称的 points 值较低。

总的来说,这是一个使用唯一键(名称)合并两个表的解决方案,但要决定哪一行在名称末尾添加 2,后面应该加上较低的点。

例如,如果表 account2017 和 account2018 在 name 列中都有“Alex”,则在该表的名称末尾添加 2 (=Alex2) ,在 points 列中具有较低的值。由于Alex在accounts2017中有20分,而Alex在accounts2018只有15分,因此accounts2018的Alex名字将更改为Alex2。 Accounts2017 将保持不变。

知道它是如何工作的吗?

最佳答案

如果我理解正确,听起来您需要使用 2 个单独的 update 语句,并使用 exists 来匹配条件:

update account2017
set name = concat(name, '2')
where exists (
select 1
from account2018
where account2017.name = account2018.name and account2017.score < account2018.score)
<小时/>
update account2018
set name = concat(name, '2')
where exists (
select 1
from account2017
where account2018.name = account2017.name and account2018.score < account2017.score)

关于MySQL 查询更改行是否更高?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53728070/

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