sql - 在结果集中并排连接列

标签 sql oracle

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

    FirstName1     LastName1         FirstName2      LastName2
       Amy           Smith              Bob            Stone
      Fred           Joker              Gina           White

其中 FirstName1 和 FirstName2 具有相同的数据类型,但我无法使用任何内容来加入(假设没有人具有相同的名称),LastName1 和 LastName2 也是如此。
我尝试创建 2 个表。第一个表包含 FirstName1 和 LastName1。第二个表包含 Firstname2 和 LastName2。
然后我使用

SELECT table1.FirstName1, table1.LastName1, table2.FirstName2, table2.LastName2
FROM table1, table2;

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

最佳答案

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

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

关于sql - 在结果集中并排连接列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13427400/

相关文章:

sql - Oracle- 拆分字符串逗号分隔(字符串包含空格和连续逗号)

mysql - 数据在行的 startDate1 列被截断

sql - 在 where 子句 : how many times is the function evaluated? 中使用函数

mysql - 在查询中使用 except 时出现语法错误

java - JDeveloper 中的集成 WebLogic Server 运行问题

oracle - SqlLoader 中的提交点​​,使用的行不起作用

oracle - 将 Oracle Apex 应用程序更改为同一系统上的另一个数据库

sql - 选择只有一个订单且该订单满足某些条件的所有用户

spring - 无法通过 Spring Boot 代码执行 ALTER SEQUENCE 命令

Oracle JDBC preparedStatement 使用字符串参数性能不佳