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

使用另一个表[MySQL]中的条件进行连接更新,mysql,join,sql-update,Mysql,Join,Sql Update,我能够从一个表中选择所有记录状态(project_有_任务),并从另一个表中选择条件,其中进度=100% 因此: 结果如下所示: | status | progress | | open | 100% | | open | 100% | | to_do | 100% | | open | 100% | 我想要实现的是在进度=100%完成的情况下更新这些结果,因此结果应该如下所示:(更新后): 你能帮我做那件事吗? 平台

我能够从一个表中选择所有记录状态(project_有_任务),并从另一个表中选择条件,其中进度=100%

因此:

结果如下所示:

   | status | progress |
   | open   | 100%     |
   | open   | 100%     |
   | to_do  | 100%     |
   | open   | 100%     |
我想要实现的是在进度=100%完成的情况下更新这些结果,因此结果应该如下所示:(更新后):

你能帮我做那件事吗?
平台:MySQL

您可以使用
加入
更新

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'

您可以使用
加入
更新

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'

为什么要使用left join?为什么要使用left join?效果很好,非常感谢:)@mariusz.wolski1-不客气,如果您觉得答案有用,请单击答案左侧的“接受答案”按钮接受答案。效果很好,非常感谢:)@mariusz.wolski1-不客气,如果您觉得答案有用,请接受,单击答案左侧的“接受答案”按钮。
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'