有没有办法根据左连接和分组的结果更新值?
我希望能够将当前作业的类别更新为可见,我尝试下面但是它不起作用
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
答案 0 :(得分:0)
GROUP BY
不是UPDATE
语句(link)的语法的一部分。 GROUP BY
作为更新的一部分并没有多大意义,因为没有涉及聚合函数。如果您的目标只是更新与尚未结束的作业相关联的所有类别,您应该只使用您拥有的联接来完成此任务。
此外,c.visible = 0
子句中析取的WHERE
部分似乎是多余的。如果已经为0,则无需将可见性设置为0.