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