Onbekend |
|
Ik snap je, maar het probleem is dat WHERE c.id = leeg is, omdat hij eerst alle query's bouwt (op jou manier) en dan gaat loopen.. Dus weet niet of het dan nog werkt?
Maar ik ga het even proberen:)
dit is de code nu:
SELECT forum.*, forum_categorie.*, fo_on.fo_on_id, IFNULL(fo_on.topics,0) AS topics, IFNULL(fo_re.reacties, 0) AS reacties
FROM forum
JOIN forum_categorie ON(forum.forum_id=forum_categorie.fo_ca_sub)
LEFT JOIN (SELECT fo_on_id, fo_on_sub
, COUNT(1) AS topics
FROM forum_onderwerp
GROUP BY
fo_on_sub) fo_on
ON (forum_categorie.fo_ca_id = fo_on.fo_on_sub)
LEFT JOIN(SELECT fo_re_sub, count(1) AS reacties
FROM forum_reacties
GROUP BY fo_re_sub) fo_re
ON (fo_on.fo_on_id=fo_re.fo_re_sub)
ORDER BY forum_categorie.fo_ca_sub, forum_categorie.fo_ca_id ASC
dit is de code nu: SELECT forum.*, forum_categorie.*, fo_on.fo_on_id, IFNULL(fo_on.topics,0) AS topics, IFNULL(fo_re.reacties, 0) AS reacties FROM forum JOIN forum_categorie ON (forum .forum_id =forum_categorie .fo_ca_sub ) LEFT JOIN (SELECT fo_on_id , fo_on_sub FROM forum_onderwerp GROUP BY fo_on_sub) fo_on ON (forum_categorie.fo_ca_id = fo_on.fo_on_sub) LEFT JOIN(SELECT fo_re_sub , count(1) AS reacties FROM forum_reacties GROUP BY fo_re_sub) fo_re ON (fo_on.fo_on_id=fo_re.fo_re_sub) ORDER BY forum_categorie.fo_ca_sub, forum_categorie.fo_ca_id ASC
Maar nu pakt hij de reacties niet goed.. Hij pakt de laatste reacties steeds, maar hij moet dus gaan tellen hoeveel reacties er bij ieder topic zijn in die categorie en die bij elkaar optellen.. |