我正在尝试从 liquidation_speed 表中更新余额表。问题是我需要加入广告系列,以根据广告系列ID设置更新条件。
余额表:id,liquidation_speed
广告系列表:id,balance_id
liquidation_speed 表:campaign_id,count
这是我构建的查询,它给出了一个错误:
UPDATE balances
SET liquidation_speed=liquidation_speed.count
FROM liquidation_speed
JOIN campaigns
ON campaigns.balance_id=balances.id
WHERE campaigns.id = liquidation_speed.campaign_id;
错误:对表“余额”的FROM子句条目的无效引用 第5行:...广告系列活动.balance_id = balances.id ...
提示:表“test_balances”有一个条目,但不能从查询的这一部分引用它。
答案 0 :(得分:0)
ON
需要应用于FROM
子句中的列:
UPDATE balances
SET liquidation_speed = liquidation_speed.count
FROM liquidation_speed JOIN
campaigns
ON campaigns.id = liquidation_speed.campaign_id
WHERE campaigns.balance_id = balances.id;
我刚刚交换了ON
子句和WHERE
子句中的条件。 Balances
子句中不知道FROM
(所有连接都在其中)。这就是为什么你需要WHERE
子句中的附加条件。