Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyertai Dalaman Dua Jadual Pelayan SQL Berdasarkan Nombor Baris?
Inner Join on Row Number in SQL Server
Objektif: Lakukan cantuman dalaman pada dua jadual menggunakan barisnya nombor.
Senario:
Pertimbangkan dua jadual, A dan B, dengan data berikut:
Table A | Table B |
---|---|
RowA | Row4 |
RowB | Row3 |
RowC | Row2 |
RowD | Row1 |
Matlamatnya adalah untuk menyertai jadual berdasarkan nombor baris mereka dan dapatkan yang berikut output:
Table A | Table B |
---|---|
RowA | Row1 |
RowB | Row2 |
RowC | Row3 |
RowD | Row4 |
Penyelesaian:
Untuk melakukan cantuman dalaman pada nombor baris, gunakan fungsi ROW_NUMBER() seperti berikut:
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;
Pertanyaan ini mencipta jadual sementara untuk setiap jadual input (A dan B) dan memberikan nombor baris kepada setiap baris berdasarkan val lajur. Jadual kemudian digabungkan menggunakan lajur row_num, dan hasilnya diisih mengikut lajur val dalam kedua-dua jadual.
Pertimbangan Tambahan:
SQL Fiddle Demo:
[SQL Fiddle Demo](https://www.sqlfiddle.com/#!18/69540/2 )
Atas ialah kandungan terperinci Bagaimana untuk Menyertai Dalaman Dua Jadual Pelayan SQL Berdasarkan Nombor Baris?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!