Vorherigen und nächsten Datensatz

saimoto

Mitglied
Hallo,
ist es möglich, den vorherigen und den nächsten Datensatz eines selects auszugeben?

z.B.
select id from tabelle where name=bla and name2=bla2;

Die zurückgegebene id ist z.B. 5 -> jetzt will ich aber den Datensatz mit der id=4 oder der id =6 ausgeben lassen.

saimoto
 
Hallo,

ja, mit subselect die id ausgeben und dann z.B. -1. Dann hätte man den vorherigen datensatz.
Aber die id`s sind ja nicht 1,2,3,4,5 sondern vielleicht auch 1,4,6,7,8,10.
Dann gehts so nicht.
 
Hallo saimoto,

der erste Select
SELECT id FROM tabelle WHERE name='bla' AND name2='bla2'
liefert die id des eigentlichen Satzes, z.B. 5.

Für den nächsten Datensatz:
SELECT id FROM tabelle WHERE id > 5 LIMIT 1

Für den vorherigen Datensatz:
SELECT id FROM tabelle WHERE id < 5 LIMIT 1

Das wäre die Syntax in MySQL - und natürlich wären dies keine SubSelects, sondern 3 aufeinander folgende Select-Statements. Ob bzw. wie man das mit SubSelects lösen kann, beantwortet vielleicht ein echter SQL-Guru...

Viele Grüße,
Martin
 
Zurück