Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Melakukan Gabungan Dalaman Berdasarkan Nombor Baris dalam SQL Server?

Bagaimana untuk Melakukan Gabungan Dalaman Berdasarkan Nombor Baris dalam SQL Server?

Mary-Kate Olsen
Lepaskan: 2024-12-20 11:38:10
asal
211 orang telah melayarinya

How to Perform an Inner Join Based on Row Numbers in SQL Server?

Cara Melakukan Inner Join pada Nombor Baris dalam SQL Server

Dalam bidang pengaturcaraan SQL Server, persoalan bagaimana untuk melaksanakan cantuman dalaman pada nombor baris sering timbul. Artikel ini meneroka topik dan menyediakan penyelesaian untuk membantu anda mencapai hasil yang diingini.

Untuk menggambarkan cabaran, pertimbangkan dua jadual, A dan B, setiap satu mengandungi senarai nilai yang disusun dari atas ke bawah:

  • Jadual A: RowA, RowB, RowC, RowD
  • Jadual B: Row4, Baris3, Baris2, Baris1

Objektifnya adalah untuk melakukan cantuman dalam pada dua jadual, memadankan baris berdasarkan nombor barisnya. Secara lalai, SQL Server tidak menyediakan cara asli untuk menyertai jadual pada nombor baris. Walau bagaimanapun, menggunakan fungsi ROW_NUMBER(), kita boleh mencipta lajur maya yang memberikan nombor baris unik kepada setiap baris dalam setiap jadual.

Untuk melakukan sambung dalaman pada nombor baris dalam SQL Server 2008, anda boleh menggunakan langkah berikut:

-- Create a virtual column with row numbers for Table A
SELECT val, ROW_NUMBER() OVER (ORDER BY val) AS row_num
FROM A

-- Create a virtual column with row numbers for Table B
SELECT val, ROW_NUMBER() OVER (ORDER BY val) AS row_num
FROM B

-- Join the two tables on the row number virtual columns
SELECT A.val, B.val
FROM (
  SELECT val, row_num
  FROM A
) AS A
INNER JOIN (
  SELECT val, row_num
  FROM B
) AS B
ON A.row_num = B.row_num
ORDER BY A.val, B.val
Salin selepas log masuk

Pertanyaan ini akan mengembalikan output berikut:

  • RowA Row1
  • RowB Row2
  • RowC Row3
  • RowD Row4

Dengan memadankan nombor baris, kami telah berjaya menyertai kedua-dua jadual.

Sebagai alternatif, jika anda tidak mempunyai pesanan mengikut tertentu keperluan, anda boleh mencapai hasil yang sama tanpa memesan jadual secara eksplisit:

-- Create a virtual column with row numbers for Table A
SELECT val, ROW_NUMBER() OVER () AS row_num
FROM A

-- Create a virtual column with row numbers for Table B
SELECT val, ROW_NUMBER() OVER () AS row_num
FROM B

-- Join the two tables on the row number virtual columns
SELECT A.val, B.val
FROM (
  SELECT val, row_num
  FROM A
) AS A
INNER JOIN (
  SELECT val, row_num
  FROM B
) AS B
ON A.row_num = B.row_num
ORDER BY A.row_num
Salin selepas log masuk

Pertanyaan ini akan mengembalikan baris dalam susunan ia keluar:

  • RowA Row4
  • RowB Row3
  • RowC Baris2
  • BarisD Baris1

Atas ialah kandungan terperinci Bagaimana untuk Melakukan Gabungan Dalaman Berdasarkan Nombor Baris dalam SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan