在结果集中并排连接列

Din*_*o55 2 sql oracle

我希望我的结果看起来像这样

    FirstName1     LastName1         FirstName2      LastName2
       Amy           Smith              Bob            Stone
      Fred           Joker              Gina           White
Run Code Online (Sandbox Code Playgroud)

FirstName1 和 FirstName2 具有相同的数据类型,但我不能用来连接(假设没有人具有相同的名称),LastName1 和 LastName2 也是如此。
我试图创建 2 个表。第一个表包含 FirstName1 和 LastName1。第二个表包含 Firstname2 和 LastName2。
然后我用

SELECT table1.FirstName1, table1.LastName1, table2.FirstName2, table2.LastName2
FROM table1, table2;
Run Code Online (Sandbox Code Playgroud)

但这给了我很多重复。有什么建议?

Vik*_*dor 5

SELECT t1.FirstName1, t1.LastName1, t2.FirstName2, t2.LastName2
FROM
    (SELECT 
         FirstName1, 
         LastName1, 
         ROW_NUMBER() OVER (ORDER BY FirstName1) 'RowNumber'
     FROM table1
    ) AS t1
    FULL OUTER JOIN
    (SELECT 
         FirstName2, 
         LastName2, 
         ROW_NUMBER() OVER (ORDER BY FirstName2) 'RowNumber'
     FROM table2
    ) AS t2
    ON t1.RowNumber = t2.RowNumber
Run Code Online (Sandbox Code Playgroud)

FULL OUTER JOIN 将处理两个表中行数不相同的情况。