在SQL中合并2个结果集?

tem*_*pid 2 sql

如何组合结果集以在SQL中返回单个结果?例如 -

SELECT * FROM Table1
SELECT * FROM Table2
Run Code Online (Sandbox Code Playgroud)

我想将两个结果集与附加到第一个结果集的第二个结果集中的列组合在一起.

表1和表2以任何方式彼此无关.如果表1有2列,表2有4列,我想在一个结果集中返回总共6列.如果表1有4行而表2只有2行,我希望表2中的NULLS为第3行和第4行.

可能吗?

编辑:我不知道Table1和Table2中有多少列,因此不能将UNION与空值一起使用.

Mar*_*ith 7

如果你的RDBMS支持,ROW_NUMBER()你可以做这样的事情.

WITH T1 AS
(
SELECT *, ROW_NUMBER() OVER ( ORDER BY T1id) AS RN1 FROM Table1
),
T2 AS
(
SELECT *, ROW_NUMBER() OVER ( ORDER BY T2id) AS RN2 FROM Table2
)


SELECT * FROM T1 FULL OUTER JOIN T2 ON RN1 =RN2
Run Code Online (Sandbox Code Playgroud)