使用另一个表中的条件进行更新[MySQL] [重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用另一个表中的条件进行更新[MySQL] [重复]相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

我可以从一个表(project_has_tasks)中选择所有记录状态,其中条件来自另一个表,其中progress = 100%

所以:

select t1.status, t2.progress FROM project_has_tasks t1
left join projects t2
on t1.project_id = t2.id
where t2.progress ='100%' AND t1.project_id ='1'

结果我看起来如下:

   | status | progress |
   | open   | 100%     |
   | open   | 100%     |
   | to_do  | 100%     |
   | open   | 100%     |

我想要实现的是更新这些结果,其中进度= 100%完成,因此结果应如下所示:(更新后):

   | status | progress |
   | done   | 100%     |
   | done   | 100%     |
   | done   | 100%     |
   | done   | 100%     |

你能帮帮我吗?平台:mysql

答案

你可以UPDATEJOIN

UPDATE project_has_tasks AS t1
left join projects t2 on t1.project_id = t2.id
SET t1.status = 'done'
where t2.progress ='100%' AND t1.project_id ='1'

以上是关于使用另一个表中的条件进行更新[MySQL] [重复]的主要内容,如果未能解决你的问题,请参考以下文章

条件更新 MariaDB (MySQL)

MySQL - 使用另一个表中的列排序行并且不重复数据

mysql更新一个表不在另一个表中的数据

需求: 将一个表中的数据插入另一个表, 然后根据条件对表中数据进行更新

Oracle 删除表中的重复行并使用另一个表中的值更新行

使用另一个表中的内容更新 SQL Server 表[重复]