首頁 > 資料庫 > mysql教程 > 如何根據行號內連接兩個SQL Server表?

如何根據行號內連接兩個SQL Server表?

Mary-Kate Olsen
發布: 2025-01-05 01:36:39
原創
872 人瀏覽過

How to Inner Join Two SQL Server Tables Based on Row Number?

SQL Server 中行號的內聯接

目標:使用兩個表的行執行內聯接

場景:

考慮兩個表 A 和B,其中包含以下資料:

Table A Table B
RowA Row4
RowB Row3
RowC Row2
RowD Row1

目標是加入基於行號的表格並檢索以下內容輸出:

Table A Table B
RowA Row1
RowB Row2
RowC Row3
RowD Row4

解決方案:

解決方案:
SELECT A.val, B.val
FROM (
    SELECT val, ROW_NUMBER() OVER (ORDER BY val) AS row_num
    FROM A
) AS A
JOIN (
    SELECT val, ROW_NUMBER() OVER (ORDER BY val) AS row_num
    FROM B
) AS B
ON A.row_num = B.row_num
ORDER BY A.val, B.val;
登入後複製

解決方案:

    解決方案:
要對行號執行內連接,請使用ROW_NUMBER()函數,如下所示:

此查詢為每個輸入表(A 和 B)建立一個臨時表,並根據 val 列為每行分配行號。然後使用 row_num 列連接表,並按兩個表中的 val 列對結果進行排序。

其他注意事項:如果沒有具體說明如果需要排序,請從ROW_NUMBER() 函數中刪除ORDER BY 子句以保留原始行順序。 SQL Fiddle 示範:[SQL Fiddle 示範](https://www.sqlfiddle.com/#!18/69540/2 )

以上是如何根據行號內連接兩個SQL Server表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板