[MySQL] - Requete SQL sur 3 tables + 2 count... ca foire a moitier

- Requete SQL sur 3 tables + 2 count... ca foire a moitier [MySQL] - SQL/NoSQL - Programmation

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 ^_^
Reply

Marsh Posté le 14-12-2003 à 22:13:36   

Reply

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
...
...

Reply

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é


Message édité par Profil supprimé le 14-12-2003 à 23:02:11
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed