我试图运行这样的查询:
WITH cte AS
(
SELECT id, category, SUM(amount) AS sum_amount FROM t1 GROUP BY id, category
)
UPDATE table SET amount = cte.sum_amount WHERE id = cte.id;
然而,我不断得到错误
Unknown column 'cte.id in WHERE clause'
有人知道我如何在update查询中引用公共表表达式,或者重写它吗?
2条答案
按热度按时间myss37ts1#
使用临时表的替代方法,您可以阅读有关cte和临时表的信息
临时表:
使用临时表更新查询:
cte:
dojqjjoe2#
你可以在下面试试