- Requete SQL sur 3 tables + 2 count... ca foire a moitier [MySQL] - SQL/NoSQL - Programmation
Marsh Posté le 14-12-2003 à 22:59:15
Essaie ca :
SELECT
forum.idForum,
COUNT(distinct sujet.idSujet) AS nbsujet,
COUNT(message.idMess) AS nbmess
...
...
Marsh Posté le 14-12-2003 à 23:02:04
j'ai aussi eu cette prise ede tete pr mon forum et a priori 2 count c pasenvisageable dans ce cas
deplus quand tu as un nb importants de sujets/messages le temps d'execution demandé au serveur est assez conséquent
la meilleure solution c'est de créer dans la table des forums 2 champs : un pour le nb de posts et un pr le nb de sujets
comme ca tu fait juste un update de cette table quand un nouveau msg/sujet est posté
Marsh Posté le 14-12-2003 à 22:13:36
SAlut,
j'explique ce que je veux...
J'ai 3 tables :
une table forums
une table sujets
une table messages
Un forum contient plusieurs sujet, un sujet contient plusieur messages.
Et je veux compter pour chaque forums le nombre de sujet et le nombre de messages ! Le tout en une et une seule requete.
J'ai essayé ceci :
SELECT
forum.idForum,
COUNT(sujet.idSujet) AS nbsujet,
COUNT(message.idMess) AS nbmess
FROM
forum,
sujet,
message
WHERE
forum.idForum=sujet.idForum AND
message.idSujet=sujet.idSujet
GROUP BY
forum.idForum
Il compte bien le nombre de messages, mais le nombre de sujet pas, il compte le meme nombre de sujet que de message.
Est ce que cette technique ne marche que avec pas plus de 2 tables ?
Comment faire? je vois pas
---------------
Ptit con de goret je t'emmerde ^_^