Problem mit Thread-Anzeige eines Forums

Radhad

Erfahrenes Mitglied
Hi zusammen,

ich bastel momentan an einem eigenen Forum. Allerdings habe ich einen Fehler in meiner MySQL Abfrage zum anzeigen der einzelnen Threads. Die Abfrage funktioniert mit 2 Threads und jeweils einem Post. Bekommt ein Thread einen weiteren Post, wird nichts mehr angezeigt. Vielleicht sieht ja jemand den Fehler. Hier mal die Abfrage:
PHP:
SELECT ft.threadid, ft.threadtitel, u.benutzername, ft.hits, fp.timestamp
FROM forenthreads ft
JOIN users u
ON u.userid = ft.userid
JOIN forenposts fp
ON fp.threadid = ft.threadid
WHERE forumid = 2
AND fp.timestamp = (
    SELECT MAX(sfp.timestamp)
    FROM forenposts sfp
    GROUP BY sfp.threadid
    HAVING sfp.threadid = ft.threadid)
ORDER BY fp.timestamp DESC
Gruß Radhad
 
Unsinnigerweise gibt es keine Probleme, wenn ich in der Unterabfrage das ft.threadid durch eine ID (als Zahl wie 1 oder 3) ersetze. Ich sehe an und für sich keinen syntaktischen Fehler - aber den logischen dahinter finde ich auch nicht :/
 
Hallo,

weiß jetzt nicht, ob ich das Problem ganz überschaut hab, aber den Subquery könntest du dir vermutlich sparen. Gruppiere einfach nach ft.threadid und selektiere MAX(fp.timestamp) (und sortiere auch danach).

Grüße,
Matthias
 
Zurück