2013-01-22 63 views
0

有沒有一種方法可以根據左連接和分組的結果更新值?用LEFT JOIN和GROUP BY進行MySQL更新作業

我希望能夠與當前的就業機會看到更新類別,下面我試過,但它不工作

UPDATE category c 
      LEFT JOIN portfolio_job_category pjc 
      ON pjc.category_id = c.id 
      LEFT JOIN job j 
      ON j.id = pjc.job_id 
      SET c.visible = 0 
      WHERE (c.visible = 0 
      OR c.visible IS NULL) 
      AND j.end_date > CURRENT_DATE 
      GROUP BY cat_id 
+1

不需要分組 –

回答

0

GROUP BY不是文法UPDATE語句(link)的一部分。作爲更新的一部分,GROUP BY沒有多大意義,因爲沒有涉及聚合函數。如果您的目標只是更新與尚未結束的作業相關的所有類別,那麼您應該只需要加入即可完成此任務。

另外,WHERE子句中的析取的c.visible = 0部分似乎是多餘的。如果已經爲0,則不需要將可見性設置爲0.