You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

多条件JOIN更新test表netto字段报错:表名重复指定

PostgreSQL UPDATE JOIN 表名重复报错的解决方法

问题原因

你写的SQL语句里,UPDATE子句已经指定了目标表test,又在FROM子句里再次引用了test,导致数据库无法区分重复的表引用,因此抛出ERROR: table name specified more than once错误。

修正后的SQL语句

方式一:简化关联逻辑(推荐)

直接通过FROM引入co表,用WHERE条件关联两张表:

UPDATE test
SET netto = co.lv
FROM co
WHERE test.sp = co.sp AND test.ver = co.ver;

方式二:使用表别名区分重复引用

如果偏好JOIN语法,给FROM里的test表设置别名,避免重复冲突:

UPDATE test
SET netto = co.lv
FROM co
JOIN test t ON t.sp = co.sp AND t.ver = co.ver
WHERE test.sp = t.sp AND test.ver = t.ver;

执行结果

执行上述任意语句后,test表会被正确更新为你期望的结果:

spvernetto
AXF
BYG
CZH

内容的提问来源于stack exchange,提问作者Diego Santiago

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 03:33:28