Philipp Hasenfratz: 2 Tabellen zusammen sortieren

Beitrag lesen

Halihallo Pete

dank Eurer Hilfe klappt das mit der UNION-Abfrage aus den 2 Tabellen mittlerweile ganz gut. Jetzt kommt mein nächstes Problem: ich möchte nun pro Seite immer nur eine bestimmte Anzahl der Datensätze anzeigen lassen. Dann soll weitergeblättert werden können. Ähnlich wie bei den Suchmaschinen. Bei MySQL wäre das in der SELECT-Abfrage mit LIMIT möglich. Bei Sybase gibt es dies nicht.

Ich kenne leider keine entsprechende Direktive (aber das heisst nichts).

Es gibt die Möglichkeit, BETWEEN zu verwenden, dazu bräuchte ich aber eine Durchnummerierung der zuvor gemachten Ausgabe.

Das halte ich für keine gute Idee. Es _muss_ irgendeine andere Möglichkeit geben.

Habe aber leider bisher noch nichts dazu in dem Handbuch gefunden. Vielleicht wäre es ähnlich wie in meinem vorherigen Problem möglich, während der UNION-Abfrage eine weitere Spalte anzulegen, in der die Nummerierung erfolgt, auf die dann mit BEWTWEEN zugegriffen werden kann. Na ja, hört sich vielleicht etwas abenteuerlich an und ihr habt eine bessere Lösung im Ärmel...

mit

set rowcount 10

kannst du die Ausgabe auf 10 Datensätze beschränken. Leider kann man das wohl nicht (?)
in einem SQL Query einbinden, sodass sowas möglich wäre:

set rowcount 10
SELECT * FROM ... WHERE ID NOT IN ALL (
   set rowcount 100;
   SELECT * FROM ...
)

das wäre eine Möglichkeit, wie man 10 Datensätze beginnend mit Datensatz 100 aus-
geben könnte, jedoch wird das, wie gesagt, nicht funktionieren.

SELECT TOP x ... gibt es in Sybase auch nicht, dann liesse sich der Query von oben
ganz einfach realisieren.

Naja, vielleicht helfen dir die Überlegungen für etwas, was du vielleicht noch in der
Doku findest. Ich kenne mich mit Sybase nicht aus. Wenn du was findest, würde ich mich
dafür interessieren.

Viele Grüsse

Philipp