【发布时间】:2014-02-06 15:07:03
【问题描述】:
我正在处理复杂的问题,但我会将其简化为这个问题。
我有两张桌子
A [ID, column1, column2, column3]
B [ID, column1, column2, column3, column4]
C [ID, column1, column2,column3]
我正在使用此查询创建另一个第三个表。
UPDATE C
set column1=t.firstTab, column2=t.secondTab, column3=t.thirdTab
from (select A.column1 as firstTab, B.column2 as secTab,
(A.column1 + B.column2) thirdTab
from A, B limit 1; ) as t ;
我得到:更新 0
当我运行这个查询时:
select A.column1 as firstTab, B.column2 as secTab, (A.column1 + B.column2) thirdTab
from A, B limit 1;
我得到了结果。
【问题讨论】:
-
请提供样本数据和期望的结果。此外,修正描述(“我有两个表”后跟 三个 表和“我正在创建第三个表”后跟
update而不是create table语句)。 -
只是为了确认一下,您想仅使用投影 t 第一行的值更新 C 的所有行吗?
-
@StuartLC:是的,完全正确。这就是我想做的。
标签: sql postgresql