我有两个关系,例如关系 1 和关系 2。关系 1 有 A、B、C 列,关系 2 有 D、E、F 列。
我想将关系 1 的 A 与关系 2 的 D 相加,其中 C = F。对于关系 2 中不存在的 C 值必须出现,而关系 1 中不存在的 F 值也必须出现 如何做这个 postgresql?
我有两个关系,例如关系 1 和关系 2。关系 1 有 A、B、C 列,关系 2 有 D、E、F 列。
我想将关系 1 的 A 与关系 2 的 D 相加,其中 C = F。对于关系 2 中不存在的 C 值必须出现,而关系 1 中不存在的 F 值也必须出现 如何做这个 postgresql?
使用 aFULL [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
替换缺失列的值。