[英]How to write an SQL query to combine two already-ordered tables horizontally with different columns?
我有两个表,它们要完全按原样并排放置。 例如,
tableOne tableTwo
columnOne | columnTwo | columnThree columnI | columnII | columnIII
两个表中的数据都不需要关联-这些表具有相同的行数-并且数据已经在两个表中进行了排序。 基本上,我想在没有on
运算符的情况下对两个表进行full outer join
。
如何在SQL查询中执行此操作?
好吧,您确实想要一个ON运算符-您似乎只是想让它自动运行,所以不会发生。
如果要说tableOne的第1行映射到tableTwo的第1行,那么您需要向每个表添加一个行列,然后对其进行联接。
如果不指定联接条件,则将执行cross join
联接,将tableOne中的每一行连接到tableTwo中的每一行,这显然不是您想要的。
所以做这样的事情:
select * from
(select *, row_number() over (order by 1) as RN from tableOne) a
inner join (select *, row_number() over (order by 1) as RN from tableTwo) b
on a.RN = b.RN
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.