2015-06-21 66 views
0

我有兩個名爲tasks和task_groups的表。每個任務都屬於一個task_group。這通過使task.task_group具有唯一的task_group標識符(task_group中的列keyid)的值來體現。我想編寫一個查詢,設置task_group.status 0僅當有是具有狀態0組中的任何任務,這是我寫的查詢:如何編寫更新查詢,根據天氣子查詢設置值爲空

UPDATE task_groups AS tg JOIN 
     tasks AS t 
     ON t.task_group = tg.keyid AND 
      EXISTS (SELECT * 
        FROM tasks AS t 
        WHERE t.task_group = tg.keyid AND t.status = 0 
       ) 
    SET tg.status = 0; 

但是它不匹配任何,因此它不沒有工作。任何人都可以告訴我查詢有什麼問題嗎?

回答

0

您可以where子句嘗試:

update task_groups tg set tg.status = 0 
where exists (select * from tasks where task_group = tg.keyid and status = 0);