0

有没有办法根据左连接和分组依据的结果更新值?

我希望能够将当前工作的类别更新为可见,我在下面尝试过,但它不起作用

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
4

1 回答 1

0

GROUP BY不是UPDATE语句语法的一部分(链接)。GROUP BY作为更新的一部分没有多大意义,因为不涉及聚合函数。如果您的目标只是更新与尚未结束的工作相关的所有类别,您应该能够仅使用您拥有的联接来完成此操作。

此外,从句c.visible = 0中的析取部分WHERE似乎是多余的。如果它已经为 0,则无需将可见设置为 0。

于 2013-01-22T04:31:02.693 回答