Обновление с объединением с условиями из другой таблицы [MySQL]

0

Я могу выбрать все статусы записей из одной таблицы (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

Теги:
sql-update
join

1 ответ

1
Лучший ответ

Вы можете UPDATE JOIN:

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'
  • 0
    Работает хорошо, большое спасибо :)
  • 0
    @ mariusz.wolski1 - Пожалуйста, примите ответ, если он показался вам полезным, нажав кнопку «Принять ответ» слева от ответа.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню