Heim > Datenbank > MySQL-Tutorial > Wie verbinde ich zwei SQL Server-Tabellen basierend auf der Zeilennummer innerlich?

Wie verbinde ich zwei SQL Server-Tabellen basierend auf der Zeilennummer innerlich?

Mary-Kate Olsen
Freigeben: 2025-01-05 01:36:39
Original
834 Leute haben es durchsucht

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

Inner Join für Zeilennummer in SQL Server

Ziel: Führen Sie einen Inner Join für zwei Tabellen mithilfe ihrer Zeile durch Zahlen.

Szenario:

Betrachten Sie zwei Tabellen A und B mit den folgenden Daten:

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

Das Ziel besteht darin, die Tabellen basierend auf ihren Zeilennummern zu verbinden und die folgende Ausgabe abzurufen:

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

Lösung:

Um einen Inner Join für Zeilennummern durchzuführen, verwenden Sie die Funktion ROW_NUMBER() als folgt:

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;
Nach dem Login kopieren

Diese Abfrage erstellt eine temporäre Tabelle für jede Eingabetabelle (A und B) und weist jeder Zeile Zeilennummern basierend auf der Val-Spalte zu. Die Tabellen werden dann mithilfe der Spalte „row_num“ verknüpft und die Ergebnisse werden nach der Spalte „val“ in beiden Tabellen sortiert.

Zusätzliche Überlegungen:

  • Wenn nicht spezifisch Wenn eine Reihenfolge gewünscht ist, entfernen Sie die ORDER BY-Klausel aus der Funktion ROW_NUMBER(), um die ursprüngliche Zeile beizubehalten bestellen.

SQL Fiddle Demo:

[SQL Fiddle Demo](https://www.sqlfiddle.com/#!18/69540/2 )

Das obige ist der detaillierte Inhalt vonWie verbinde ich zwei SQL Server-Tabellen basierend auf der Zeilennummer innerlich?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage