【发布时间】:2015-08-12 10:19:52
【问题描述】:
我正在尝试使用来自 ht 的数据更新表 tr。两者都有几乎相同的列。 所以为了测试我运行了这个查询。
SELECT * FROM tr a
RIGHT OUTER JOIN ht b
USING (date, name, ft )
WHERE ft IS NOT NULL
提供 129 行 检查它没问题,然后我运行更新查询 ->
UPDATE tr
SET (o_t, g_v, br, s_t, st, c_d, n_r, n_a, cd_id)
= (a.o_t, a.g_v, a.br, a.s_t, a.st, a.c_d, a.n_r, a.n_a,
a.cd_id)
FROM tr a
RIGHT OUTER JOIN ht b
USING (date, name, ft )
WHERE a.ft IS NOT NULL
查询成功返回:4134 行受影响
有人可以指导我出了什么问题以及如何解决。
【问题讨论】:
-
第一个是右外连接,第二个是左外连接。这可能与它有关?
-
更正了 sql。问题仅在于这个
-
只粘贴您正在使用的代码会更加健壮,否则您会招致各种看起来像问题但不是问题的拼写错误。
-
您的查询没有意义。单行匹配,因此值不会改变。您是否打算将值来自
b?
标签: sql postgresql