使用左连接和分组方式的MySQL更新作业
是否有一种方法可以根据左联接和分组方式的结果更新值 我希望能够用当前作业更新类别,使其可见,我在下面进行了尝试,但没有成功使用左连接和分组方式的MySQL更新作业,mysql,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.vis
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
GROUP BY
不是UPDATE
语句()语法的一部分<代码>分组依据作为更新的一部分没有多大意义,因为不涉及聚合函数。如果您的目标只是更新与尚未结束的作业相关联的所有类别,那么您应该能够通过现有的联接来实现这一点
另外,
WHERE
子句中析取的c.visible=0
部分似乎是多余的。如果已为0,则无需将visible设置为0。此处不需要group by