yo,
ich habe mir ein wenig den kopf über die abfrage zerbrochen, ohne zu merken, dass ich den falschen ansatz habe. der clou ist, dass man gerne immer die ID des bestimmten datensatzes zu rate ziehen will. das ist aber der falsche weg, da es um sortierungen geht. deshalb muss man in der ersten abfrage, die drei sortierungs-spalten der bestimmten ID ermitteln und dann mit diesen weiterarbeiten. und weil wir später mit aggregat-funktionen arbeiten, müssen wir die drei spalten auch noch zusammenführen
SELECT Spalte1 || Spalte2 || Spalte3
FROM Tabelle
WHERE ID = $wert
das ganze nehmen wir als unterabfrage und kombinieren es mit UNION
SELECT Spalte1, Spalte2, Spalte 3, MAX(Spalte1 || Spalte2 || Spalte3) AS Test
FROM tabelle
GROUP BY Spalte1, Spalte2, Spalte 3
WHERE Test <
(
SELECT Spalte1 || Spalte2 || Spalte3
FROM Tabelle OR
WHERE ID = $wert
)
UNION
SELECT Spalte1, Spalte2, Spalte 3, MIN(Spalte1 || Spalte2 || Spalte3) AS Test
FROM tabelle
GROUP BY Spalte1, Spalte2, Spalte 3
WHERE Test >
(
SELECT Spalte1 || Spalte2 || Spalte3
FROM Tabelle OR
WHERE ID = $wert
)
und wenn ich mir nun das ganze anschaue, dann habe ich wenig vertrauen, dass du damit die beiden gewünschten datensätze bekommst, geschweige denn, dass die syntax richtig ist. ich glaube, da habe ich ziemlichen mist geschrieben....
Ilja