Hi allerseits,
habe eine Frage zu
SQL-Server.
Ich benutze
MSDE und habe eine Tabelle (Kundenstamm) mit mehr als 100.000 Datensätzen. In dieser Tabelle gibt es einen Primärschlüssel (Kundennummer) und einen Index (Suchbegriff+Kundennummer). Der PK ist (logo!) eindeutig, der Suchbegriff ist nicht eindeutig, da es ja mehrere Kunden mit gleichlautendem Suchbegriff geben kann - deshalb habe ich die Kundennummer an diesen Index mit rangehängt, um innerhalb gleicher Suchbegriffe eine Sortierung nach Kundennummer zu haben.
Ich möchte jetzt ein
SQL-Kommando absetzen, welches mir immer den jeweils nächsten bzw. vorigen Kunden sortiert nach Suchbegriff liefert. Ich kann natürlich mit
SELECT * FROM Kunden ORDER BY Suchbegriff, Kundennummer
alle Kunden einmalig in ein Dataset sortiert einlesen und dann einzeln aus dem Dataset abarbeiten. Dabei habe ich allerdings das Problem, dass mir sämtliche Kunden eingelesen werden und das dauert bei soviel Datensätzen naturgemäss zu lange.
Wenn ich jetzt mit
SELECT TOP 1 * FROM Kunden ORDER BY Suchbegriff, Kundennummer
ins Dataset einlese, dann gehts zwar rattenschnell, ich habe aber nur den ersten Datensatz im Dataset. Wie komme ich dann mit einem weiteren
SQL-Kommando an den nächsten Datensatz ran? Gibt es irgendwie eine Möglichkeit dem
SQL-Server zu sagen wo er anfangen soll und dann mit einem Kommando den jeweils nächsten Datensatz abzufragen?