Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Menyertai Jadual Pelayan SQL Berdasarkan Nombor Baris dan Susunan Kawalan?

Bagaimanakah Saya Boleh Menyertai Jadual Pelayan SQL Berdasarkan Nombor Baris dan Susunan Kawalan?

Susan Sarandon
Lepaskan: 2024-12-29 01:54:10
asal
597 orang telah melayarinya

How Can I Join SQL Server Tables Based on Row Number and Control Ordering?

Menyertakan Jadual pada Nombor Baris dalam SQL Server

Dalam SQL Server 2008, anda boleh melakukan sambung dalaman pada nombor baris menggunakan ROW_NUMBER( ) fungsi. Fungsi ini memberikan nombor jujukan yang unik kepada setiap baris dalam jadual, berdasarkan spesifikasi pengisihan pilihan.

Pertanyaan untuk Menyusun Baris Bercantum Menegak:

Untuk menyertai jadual A dan B pada nombor baris mereka dan mengekalkan susunan menegak baris, gunakan yang berikut pertanyaan:

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;
Salin selepas log masuk

Pertanyaan untuk Susunan Mendatar Baris Bercantum:

Jika anda ingin menyertai baris secara mendatar, tanpa mengisih, gantikan klausa ORDER BY dengan PARTITION OLEH klausa:

SELECT A.val, B.val
FROM (
    SELECT val, ROW_NUMBER() OVER (PARTITION BY 1) AS row_num
    FROM A
) AS A
JOIN (
    SELECT val, ROW_NUMBER() OVER (PARTITION BY 1) AS row_num
    FROM B
) AS B
ON A.row_num = B.row_num;
Salin selepas log masuk

Contoh:

Menggunakan jadual sampel A dan B yang disediakan, pertanyaan pertama akan menghasilkan output berikut:

RowA Row1
RowB Row2
RowC Row3
RowD Row4
Salin selepas log masuk

Pertanyaan kedua akan menghasilkan output ini, mewakili gabungan mendatar:

RowA Row4
RowB Row3
RowC Row2
RowD Row1
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyertai Jadual Pelayan SQL Berdasarkan Nombor Baris dan Susunan Kawalan?. 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