Как сделать внутреннее соединение номера строки в сервере sql
SQL Server 2008
Две таблицы:
Таблица A имеет следующие данные:
RowA
RowB
RowC
RowD
Таблица B имеет следующие данные:
Row4
Row3
Row2
Row1
Я хочу получить следующий вывод:
RowA Row1
RowB Row2
RowC Row3
RowD Row4
Единственное общее значение между двумя таблицами - это номер строки
Я могу получить данные индивидуально, конечно:
SELECT val
FROM A
ORDER BY val
SELECT val
FROM B
ORDER BY val
Но как мне присоединиться к номеру строки?
И что, если у меня нет порядка, но просто хочу, чтобы строки были в порядке, в котором они вышли?
RowA Row4
RowB Row3
RowC Row2
RowD Row1
как в объединении
SELECT val
FROM A
SELECT val
FROM B
Ответы
Ответ 1
попробуйте следующее:
USE Функция ROW_NUMBER() в SQL Server 2008
select A.val,B.val
from(
SELECT val,row_number() over (order by val) as row_num
FROM A)A
join
(SELECT val,row_number() over (order by val) as row_num
FROM B)B
on A.row_num=B.row_num
ORDER BY A.val,B.val