Если результаты зависят от порядка чисел c значений 2 столбцов, тогда используйте оконную функцию row_number()
:
select t1.col1 tab1col1, t2.col1 tab2col1
from (select col1, row_number() over (order by col1) rn from tab1) t1
inner join (select col1, row_number() over (order by col1) rn from tab2) t2
on t1.rn = t2.rn
См. Демонстрационную версию . Если значения col1
в tab1
на самом деле: 1, 2, 3, ... тогда вам не нужно row_number()
для tab1
:
select t1.col1 tab1col1, t2.col1 tab2col1
from tab1 t1
inner join (select col1, row_number() over (order by col1) rn from tab2) t2
on t1.col1 = t2.rn
См. демо . Результаты:
| tab1col1 | tab2col1 |
| -------- | -------- |
| 1 | 56 |
| 2 | 66 |
| 3 | 88 |