ホームページ > データベース > mysql チュートリアル > 行番号に基づいて 2 つの SQL Server テーブルを内部結合する方法

行番号に基づいて 2 つの SQL Server テーブルを内部結合する方法

Mary-Kate Olsen
リリース: 2025-01-05 01:36:39
オリジナル
834 人が閲覧しました

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

SQL Server の行番号での内部結合

目的: 行を使用して 2 つのテーブルで内部結合を実行します。

シナリオ:

次のデータを持つ 2 つのテーブル 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

解決策:

行番号で内部結合を実行するには、次のように ROW_NUMBER() 関数を使用します。

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;
ログイン後にコピー

このクエリは、入力テーブル (A および B) ごとに一時テーブルを作成し、val 列に基づいて各行に行番号を割り当てます。次にテーブルは row_num 列を使用して結合され、結果は両方のテーブルの val 列によって並べ替えられます。

追加の考慮事項:

  • 特に指定がない場合順序付けが必要な場合は、ROW_NUMBER() 関数から ORDER BY 句を削除して、元の行を保持します。注文。

SQL フィドル デモ:

[SQL フィドル デモ](https://www.sqlfiddle.com/#!18/69540/2) )

以上が行番号に基づいて 2 つの SQL Server テーブルを内部結合する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート