彼此相邻的SELECT查询中添加列

时间:2018-10-29 01:36:58

标签: sql postgresql

我必须查询返回以下表格的

foo | bar
----+----
  1 |   2
  5 |   6

baz | qux
----+----
  3 |   4
  7 |   8

我想将它们结合起来以返回下表

foo | bar | baz | qux
----+-----+-----+----
  1 |   2 |   3 |   4
  5 |   6 |   7 |   8

除了在各自的SELECT语句之后的执行顺序之外,没有其他条件可以加入。这可能是一个容易上手的问题,但是我似乎无法弄清楚如何用搜索词表达我想要的东西

1 个答案:

答案 0 :(得分:1)

您可以添加该条件并使用row_number()函数将这些结果合并:

SELECT T1.foo, T1.bar, T2.baz, T2.qux
FROM 
  (SELECT table1.*, row_number() OVER () as rnum1 FROM (query1) table1) T1
  JOIN (SELECT table2.*, row_number() OVER () as rnum2 FROM (query2) table2) T2
    ON T1.rnum1 = t2.rnum2

根据您的情况,可以选择LEFT JOINRIGHT JOIN