Hallo, ich fass mich dieses mal kurz:
ich will für meine Firma das Intranet mit vorhandener Struktur (Benutzerdatenbanken, etc.) um eine kleine Diskussionsplatform erweitern, also quasi sowas wie ein Mini-forum...
Ich bin grad am Datenbankdesign, meine Datenbank hab ich mal aus der Designeransicht vom PMA angehängt...
jetzt gehts an den Query für the "Threads" quasi:
ich will mir das Datum des letzten Posts auswerfen lassen, ohne den "last_post" in den topics mit abspeichern zu müssen (von wegen 3. NF)
mein Query sieht bis jetz wie folgt aus:
atm würde das alle POSTS aus allen Threads ausspucken, das ist natürlich etwas zu viel des guten... deswegen füge ich an den oberen Query unten einfach
an, Resultat: es wird mir für jeden Thread(Topic) nur ein Resultat geliefert, allerdings mit der ersten in der Datenbank gefundenen "post_time"...
bekomm ich davor noch meinen `posts` join irgendwie nach `id` DESC sortiert - oder gibts da anderweitig ne Lösung?!
Ich möchte allerdings ungerne umständliche Subqueries benutzen - und das ganze muss natürlich verdammt performant sein, also auch nicht ewig brauchen um mir das Resultat zu liefern, alternativ verzichte ich auf die 3.NF und führe in der "topic" tabelle das "last_post" property mit...
thx in advance
ich will für meine Firma das Intranet mit vorhandener Struktur (Benutzerdatenbanken, etc.) um eine kleine Diskussionsplatform erweitern, also quasi sowas wie ein Mini-forum...
Ich bin grad am Datenbankdesign, meine Datenbank hab ich mal aus der Designeransicht vom PMA angehängt...
jetzt gehts an den Query für the "Threads" quasi:
ich will mir das Datum des letzten Posts auswerfen lassen, ohne den "last_post" in den topics mit abspeichern zu müssen (von wegen 3. NF)
mein Query sieht bis jetz wie folgt aus:
Code:
SELECT
t.id, t.name, t.type, t.state,
u.username, u.firstname, u.lastname,
p.`post_time`
FROM `topics` as t
LEFT JOIN `users` as `u` ON t.author = u.uid
LEFT JOIN `posts` as `p` ON p.topic_id = t.id
atm würde das alle POSTS aus allen Threads ausspucken, das ist natürlich etwas zu viel des guten... deswegen füge ich an den oberen Query unten einfach
Code:
GROUP BY t.id
bekomm ich davor noch meinen `posts` join irgendwie nach `id` DESC sortiert - oder gibts da anderweitig ne Lösung?!
Ich möchte allerdings ungerne umständliche Subqueries benutzen - und das ganze muss natürlich verdammt performant sein, also auch nicht ewig brauchen um mir das Resultat zu liefern, alternativ verzichte ich auf die 3.NF und führe in der "topic" tabelle das "last_post" property mit...
thx in advance