Извлечь значения из двух столбцов двух таблиц (Sqlite) - PullRequest
0 голосов
/ 08 февраля 2020

У меня есть две отдельные таблицы, такие как

tab.1    
col.1
1
2
3
tab.2
col.1 col.2
56    77
66    99
88    09

Я хочу, чтобы результат получил первые значения tab.1 и вторые значения tab.1 col.1, такие как

1 56
2 66
3 88

Союз всех ставит вторую вкладку. значения после первой вкладки. значения, но мне нужно, как в вышеупомянутом стиле.

1 Ответ

2 голосов
/ 08 февраля 2020

Если результаты зависят от порядка чисел 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       |
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...