Einzelnen Beitrag anzeigen
  #1  
Alt 15.11.2008, 06:49:07
Jannik Jannik ist offline
Anfänger
 
Registriert seit: Nov 2008
Alter: 42
Beiträge: 1
jeweils TOP 5 einer Untergruppe gesucht

Hallo,

ich habe eine Forum-Tabelle nach folgendem Muster:

id, datestamp, lastpost_datestamp, parent_id, ...

Wenn parent_id = 0 handelt es sich um einen Thread, alles andere sind die Posts, die über parent_id dem jeweiligen Thread zugeordnet sind.

Ich suche jetzt ein MySQL-Query, mit dem ich jeweils (!) die letzten 5 Posts der letzten 10 aktiven Threads angezeigt bekomme.

Mein bisheriger Versuch sieht so aus:

Code:
SELECT a.id, a.datestamp, a.lastpost_datestamp
FROM forum AS a
RIGHT JOIN (
     SELECT c.id, c.datestamp
     FROM forum AS c
     ORDER BY c.datestamp DESC LIMIT 0,5)
     AS b
     ON b.parent_id = a.id
WHERE a.parent_id = 0
ORDER BY a.lastpost_datestamp DESC LIMIT 0,10
Leider funktioniert das so natürlich nur für den ersten Thread. Ab dem zweiten wird das Join nicht für das neue a.id ausgewertet.

Wahrscheinlich gehe ich völlig falsch an die Sache heran, aber vielleicht gibt es hier ja einen SQL-Freak, der mir weiterhelfen kann.
Eine definitive Aussage, dass das nicht in einem Query geht, würde mir zwar nicht weiterhelfen, aber dann könnte ich mir zumindest das weitere Suchen/Grübeln ersparen.

Vielen Dank für Euer Kopfzerbrechen!
Mit Zitat antworten