joe: Forum: Anzeigen wo neue Posts gemacht wurden

Beitrag lesen

Okay ich habs fast!

  
SELECT t1.threadid ,t1.threadtitel,t1.threadtype,t1.postcounter , COUNT(t4.postid) AS numPosts  
FROM mainproject.board_thread AS t1  
LEFT JOIN mainproject.board_category AS t2 ON categoryname='".db::escape($tag)."'  
LEFT JOIN mainproject.users_follow_disc AS t3 ON t3.uid=".$_SESSION['userid']." AND t3.tid=t1.threadid  
LEFT JOIN mainproject.board_post AS t4 ON t4.creationtime > t3.thetime AND t4.threadid=t1.threadid  
WHERE t1.categoryid=t2.categoryid  
GROUP BY t1.threadid,t1.threadtitel,t1.threadtype,t1.postcounter  
ORDER BY postcounter

Nun. Jetzt liest er die Anzahl aller Posts aus irgendwie. Ich kann nicht genau definieren was er macht. Er gibt mir wenn ich einen neuen Post mache irgendwo, anschließend die Anzahl aller Posts in diesem Thread aus.
Das Problem liegt denk ich hier:

[1]
LEFT JOIN mainproject.users_follow_disc AS t3 ON t3.uid=".$_SESSION['userid']." AND t3.tid=t1.threadid

und hier

[2]

  
LEFT JOIN mainproject.board_post AS t4 ON t4.creationtime > t3.thetime AND t4.threadid=t1.threadid

Denn bei [1] müsste die Ergebnismenge auf 1 reduziert werden, so das am Ende nur "das letzte mal als er die Diskussion angesehen hat" geliefert wird.
In Form eines Subselects gehts nicht weil er dann die Threadid nicht hat, diese liegt ja in einer anderen Ebene und kommt aus t1.
[2] müsste anschließend diesen Zeitpunkt bekommen (t3.thetime) muss also ersetzt werden.

Hoffe du kannst mir helfen.

Lg, Joe