所以我有两张桌子。一个表包含两列。第二个表包含一列。但是,第二个表中的列与第一个表的第一列的列名匹配:
Table 1:
a b
hello | 6
world | 7
Table 2:
a
new
t1
我想加入这两个表来导致:
Table 3:
a b
hello | 6
world | 7
new | Null
t1 | Null
我已经研究过Cross Join和其他许多联接,但在这种情况下似乎都没有帮助。
答案 0 :(得分:3)
SELECT a, b FROM table_1
UNION ALL
SELECT a, NULL::INTEGER FROM table_b
;
对于其他一些数据库,不需要像上面那样转换为整数。
答案 1 :(得分:0)
UNION ALL
是正确的答案。如果您坚持使用JOIN
,则可以执行:
select coalesce(t1.a, t2.a) as a, t1.b
from t1 full outer join
t2
on 1 = 0;