使用左连接和分组方式的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