PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SQL-Anweisung gesucht


blax
2005-04-11, 21:46:36
Ahoi...

Ich hab ein Problem (wie vielleicht schon erwartet):
Es geht darum in einem Forum Threads nach Datum des letzten Posts zu sortieren

Ich habe eine tabelle "forum_threads" (mit ID, Name,..) und eine tabelle "forum_posts" (mit ID vom Thread gespeichert)

Ich weiß leider nur ungefähr wie ich das machen würde...mit JOINS oder so ähnlich..aber leider nicht genau


kann mir da wer helfen?

aCiD
2005-04-11, 22:08:44
also angenommen du hast in forum_posts das Feld datum.
Dann würde das in etwa so funktionieren:

SELECT t.id, t.name FROM forum_threads t,forum_posts p WHERE t.ID = p.ID GROUP BY t.id ORDER BY p.date DESC


Dann sollte als erster Datensatz die Threadid und der Name mit dem neusten Post kommen und so weiter ...

Ist jetzt mehr so ne spontane Idee...
Aber evtl. ist das auch alles viel zu kompliziert und funktioniert vielleicht auch garnicht :)

Greetz
aCiD

blax
2005-04-11, 22:32:53
ich muss dich enttäuschen..mit deinem sql werdn mir die threads nach ID absteigend sortiert

mit folgendem funktioniert es im prinzip, mit dem problem, dass jeder thread öfter als 1x vorkommt..kann man da nicht irgendwie sagen dass er sich nur den post pro thread hernehmen soll, der als letztes erzeugt wurde?
SELECT t.id, t.name
FROM forum_thread t, forum_post p
WHERE t.ID = p.threadID AND t.forumid =1
ORDER BY p.timestmp DESC

Gast
2005-04-11, 22:42:52
Bin mir zwar nicht 100% sicher, aber würde ein LEFT JOIN das Problem nicht lösen? Also:


SELECT t.id, t.name
FROM forum_thread t LEFT JOIN forum_post p
ON t.ID = p.threadID
WHERE t.forumid =1
ORDER BY p.timestmp DESC