【问题标题】:Join with no common Serial_Num column加入没有公共 Serial_Num 列
【发布时间】:2021-03-16 02:50:47
【问题描述】:

我想看看如何让这 2 个表加入它们没有任何共同的列。 Serial_Num 在 Aircraft_type TABLE 中 和类型_、描述_、容量_、范围_;在 Acraft_Data TABLE 上。 图片是单独的输出,但试图通过acraft_data获取序列号。

预期输出

【问题讨论】:

  • 请也分享预期的输出。第一个表的哪一行需要和第二个表的哪一行显示?
  • 刚刚编辑,已上传。 @大力水手

标签: oracle join subquery multiple-columns


【解决方案1】:

如果您想在没有任何公共列的情况下加入它们,则必须基于某些行号进行加入。

我假设您需要 aircraft_type 表中的每个数据,并且 aircraft_type 的记录多于 aircraft 表,那么您可以使用以下查询:

Select * from
(Select at.*,
        Row_number() over (order by serial_num) as rn
From aircraft_type) at
Join 
(Select a.*,
        Row_number() over (order by capicity) - 1 as rn,
        Count() over () as cnt
From aircraft) a
On mod(at.rn - 1, a.cnt) = a.rn

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-02
    相关资源
    最近更新 更多