oracle - 加入没有公共 Serial_Num 列
问题描述
我想看看如何让这 2 个表加入它们没有任何共同的列。Serial_Num 在 Aircraft_type TABLE 和 Type_、Description_、Capacity_、Range_ 中;在 Acraft_Data TABLE 上。图片是单独的输出,但试图用 acraft_data 获取序列号。
解决方案
如果您想在没有任何公共列的情况下加入它们,则必须基于某些行号进行加入。
我假设您需要表中的每个数据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
推荐阅读
- keras - 在 Keras 中,在我自己的模型上使用 include_top= False 会删除所有最后一个密集层,我可以定义模型的“顶部”吗?
- asp.net - 无法让 ASP.NET/IIS 使用自定义缓存控制设置来提供 .js 文件
- laravel - Laravel 网站域名将转到 public/publc url
- django - django 具有相同外键的多个模型
- python - 使用 psycopg2 在 PostgreSQL 中使用密码创建用户时出错
- sql - 日期过滤器返回无效字符错误
- javascript - 为什么在这个 POST 请求中,then() 处理函数的参数用大括号括起来?
- c# - XML反序列化不同对象C#
- c++ - std::accumulate 使用视图 std::ranges::views::values
- c++ - 仅当模板 arg 不是 const 时才定义 C++ 转换运算符