Veröffentlicht 28. Januar 200916 j Hallo, ich programmiere hier auf der Arbeit an einer DB2 Datenbank und möchte Daten davon auslesen. Momentan habe ich folgenden Code SELECT * FROM D.ATENBANK WHERE CODE < 'ADR' ORDER BY CODE DESC FETCH FIRST 20 ROWS ONLY Und zwar soll dieser Select Befehl alle Daten aus der Datenbank auslesen die z.B. kleiner als ('ADR') sind, d.h. es wären z.B. die Daten 1-79 Da es ja keinen FETCH LAST Befehl gibt, muss ich das also erstmal umdrehen und dann FETCH FIRST 20 machen. Jetzt will ich das aber ganz am Ende wieder zurückdrehen, damit es richtig herum in die Tabelle eingelesen werden kann. Aber leider kann man am Ende kein Order by mehr machen. Hat jmd. einen Tipp? Kann man das aktuelle Ergebnis vielleicht irgendwie zwischenspeichern? Danke für euer Mühe!
28. Januar 200916 j ungetestet: SELECT * FROM ( SELECT * FROM D.ATENBANK WHERE CODE < 'ADR' ORDER BY CODE DESC FETCH FIRST 20 ROWS ONLY) ORDER BY CODE ASC s'Amstel
28. Januar 200916 j Hey, danke für die schnellere Antwort, leider funktioniert das nicht. Es kann vielleicht sein, dass hier eine alte DB2 Version oder so benutzt wird, aber leider weiß ich nicht, wo ich das nachschauen kann. Ich bekomme folgende Fehlermeldung: DB2 SQL error: SQLCODE: -199, SQLSTATE: 42601, SQLERRMC: ORDER; UNION EXCEPT Ich hoffe jemand kann damit etwas anfangen. danke
28. Januar 200916 j IBM sagt "Keyword &1 not expected. Valid tokens: &2." - wobei &1 = ORDER und &2 = UNION EXCEPT Schau dir mal DB2 Temporary Tables an
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.