Verknüpfen von Tabellen anhand der Zeilennummer in SQL Server
In SQL Server 2008 können Sie mithilfe der Funktion ROW_NUMBER( ) Funktion. Diese Funktion weist jeder Zeile in einer Tabelle eine eindeutige fortlaufende Nummer zu, basierend auf einer optionalen Sortierspezifikation.
Abfrage für die vertikale Reihenfolge verbundener Zeilen:
So verknüpfen Sie Tabellen A und B auf ihre Zeilennummern und behalten Sie die vertikale Reihenfolge der Zeilen bei, verwenden Sie die folgende Abfrage:
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;
Abfrage für Horizontal Zusammengefügte Zeilen anordnen:
Wenn Sie die Zeilen horizontal ohne Sortierung verbinden möchten, ersetzen Sie die ORDER BY-Klauseln durch die PARTITION BY-Klausel:
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;
Beispiel:
Unter Verwendung der bereitgestellten Beispieltabellen A und B ergibt die erste Abfrage Folgendes Ausgabe:
RowA Row1 RowB Row2 RowC Row3 RowD Row4
Die zweite Abfrage erzeugt diese Ausgabe, die einen horizontalen Join darstellt:
RowA Row4 RowB Row3 RowC Row2 RowD Row1
Das obige ist der detaillierte Inhalt vonWie kann ich SQL Server-Tabellen basierend auf Zeilennummer und Kontrollreihenfolge verknüpfen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!