Gra*_*ham 19 sql sql-server sql-server-2008
SQL Server 2008
两张桌子:
表A有以下数据:
RowA
RowB
RowC
RowD
Run Code Online (Sandbox Code Playgroud)
表B有以下数据:
Row4
Row3
Row2
Row1
Run Code Online (Sandbox Code Playgroud)
我想获得以下输出:
RowA Row1
RowB Row2
RowC Row3
RowD Row4
Run Code Online (Sandbox Code Playgroud)
两个表之间唯一的共同值是行号
我当然可以单独获取数据:
SELECT val
FROM A
ORDER BY val
SELECT val
FROM B
ORDER BY val
Run Code Online (Sandbox Code Playgroud)
但是我如何加入行号呢?
如果我没有订单,但只是希望按顺序排列的行怎么办?
RowA Row4
RowB Row3
RowC Row2
RowD Row1
Run Code Online (Sandbox Code Playgroud)
就像在加入一样
SELECT val
FROM A
SELECT val
FROM B
Run Code Online (Sandbox Code Playgroud)
Joe*_*eph 30
试试这个:
在sql server 2008中使用ROW_NUMBER()函数
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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
26198 次 |
最近记录: |