Hi,
In der Tat, das ist ein Problem. Ich habe keine Methode gefunden, wie man das in SQL formuliert. Und ich denke, dass es auch keine Lösung gibt. Die Rheienfolge ist ja "dynamisch", d. h. es gibt keine staatische Daten, die sortiert werden, sondern es ist eine dynamische Sortierung basiert auf Daten des letzten Eintrags ( die Bezugs_id einer Message_id, muss immer die Message_id des zuvorgegangenen Beitrags sein). SQL sieht für dies keine Methode vor.
Es müsste ja nicht unbedingt mit Message_id, Thread_id und Bezugs_id funktionieren, sondern es könnte auch beliebige andere Werte verwenden. Das wäre egal.
In mysql und den meisten anderen RDBMS gibt's trotzdem einige "Tricks", wie man solche SQL Probleme umgehen kann: User-Variablen:
SELECT @UserVariable153:=15;
...
SELECT @UserVariable153;
gibt 15 aus. Vielleicht lässt sich so was basteln, aber Achtung: Diese Spezifikation gilt nur für mysql!
Sowas zum Annähern an das Problem:
SELECT @LastMessageID:=message_id AS '1', ... FROM ...
WHERE Bezugs_id=@LastMessageID
ORDER BY thread_id, message_id
Nur ein Tip, wie so ein Trick aussehen könnte, muss wohl noch angepasst werden. Geprüft habe ich's auch nicht.
Hoffe, dass dir das was Hilft.
Danke, werde ich mal ausprobieren aber ansonsten: siehe unten.
PS: Es wäre tausend-Mal klüger, diese Aufgabe einem Perl/php - Script zu überlassen, da SQL wirklich nicht dafür "prädestiniert" ist!
Es geht mir auch gar nicht darum das auf "Teufel komm raus" mit SQL zu lösen ich suche einfach dem geschicktesten und (für den Rechner) schnellsten Weg.
MfG
Erik