cub*_*729 0 sql sql-server sql-server-2008
我有两个表,它们要完全按原样并排放置。例如,
tableOne tableTwo
columnOne | columnTwo | columnThree columnI | columnII | columnIII
Run Code Online (Sandbox Code Playgroud)
两个表中的数据都不需要关联-这些表具有相同的行数-并且数据已经在两个表中进行了排序。基本上,我想full outer join在没有on运算符的情况下对两个表进行操作。
如何在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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1194 次 |
| 最近记录: |