我有两张桌子,我想和它们并排放置。例如,
tableOne tableTwo
columnOne | columnTwo | columnThree columnI | columnII | columnIII
两个表中的数据不需要相关 - 表具有相同的行数 - 并且数据已经在两个表中排序。基本上,我想在没有full outer join
运算符的情况下在两个表上执行on
。
如何在SQL查询中执行此操作?
答案 0 :(得分:4)
嗯,你做想要一个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