【发布时间】:2013-07-18 17:07:33
【问题描述】:
我有两个关系,例如关系 1 和关系 2。关系 1 有 A、B、C 列,关系 2 有 D、E、F 列。
我想将relation1的A与relation2的D相加,其中C = F。对于relation2中不存在的C值必须出现,并且relation1中不存在的F值也必须出现postgresql怎么做?
【问题讨论】:
标签: sql postgresql concatenation postgresql-9.1
我有两个关系,例如关系 1 和关系 2。关系 1 有 A、B、C 列,关系 2 有 D、E、F 列。
我想将relation1的A与relation2的D相加,其中C = F。对于relation2中不存在的C值必须出现,并且relation1中不存在的F值也必须出现postgresql怎么做?
【问题讨论】:
标签: sql postgresql concatenation postgresql-9.1
使用FULL [OUTER] JOIN 包含来自任一侧的行,而另一侧没有匹配的行:
SELECT COALESCE(r1.a, 0) + COALESCE(r2.d, 0) AS a_d
FROM relation1 r1
FULL JOIN relation2 r2 ON r1.c = r2.f
还可以使用 COALESCE() 捕获替换缺失列的 NULL 值。
【讨论】: