postgresql - 基于join的PostgreSQL更新查询
问题描述
我正在尝试更新在简单连接上创建的表。我已经尝试了很多不同的方法,但仍然出现错误。有任何帮助
Update well.formation_assignments as v
set
Primary_Formation = well.geo.primary_formation
from well.geo as s
inner join
on well.formation_assignments.api14=well.geo.api14;
错误:第 6 行或“on”附近的语法错误:on well.formation_assignments.api14=well.geo.api14; ^ SQL 状态:42601 字符:123
解决方案
试试这个:
UPDATE well.formation_assignments v
SET Primary_Formation = s.primary_formation
FROM well.geo s
WHERE v.api14 = s.api14;
作为标准的 Postgresql 更新语法如下:
[ WITH [ RECURSIVE ] with_query [, ...] ]
UPDATE [ ONLY ] table [ [ AS ] alias ]
SET { column = { expression | DEFAULT } |
( column [, ...] ) = ( { expression | DEFAULT } [, ...] ) } [, ...]
[ FROM from_list ]
[ WHERE condition | WHERE CURRENT OF cursor_name ]
[ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ]
推荐阅读
- asp.net - 将数据发送到视图并显示
- java - 有一种方法可以将 % (sql) 放入 java 中。像这样“从员工中选择名字,其中名字像'A%e'”
- c - 用 realloc 增加二维数组的行?
- qt - QML ComboBox 项目不显示正确的文本
- javascript - 使用 int 和 float 的数字原型
- c - ## 宏预处理器使用
- regex - Git diff:仅显示不匹配模式的更改
- python - 获取 Jupyter notebook 以实时显示 matplotlib 图形
- c# - 如何检测屏幕方向
- c# - 运行多个实例的 Azure Function EventHubTrigger