Problème avec un COUNT() [SQL] - SQL/NoSQL - Programmation
Marsh Posté le 18-03-2004 à 00:16:21
Si je peux me permettre de rajouter une petite condition, il faudrait idéalement que les id_effet ne soient comptabilisés qu'une fois  
 
 
Si quelqu'un voit la solution...
Marsh Posté le 18-03-2004 à 12:27:55
| Code : 
 | 
Marsh Posté le 18-03-2004 à 12:31:59
| ratibus a écrit : 
   | 
 
 
salut, 
Malheureusement ça marche pas non plus, ça me fait exactement la même chose. 
En fait, je pense qu'une jointure entre objets et relations est inutile, puisque il n'y a pas de relation spécifique entre ces deux tables. 
 
Peut être une jointure de la table relations sur elle même ?
Marsh Posté le 18-03-2004 à 12:33:28
| thecoin a écrit : null n'est pas 0  | 
 
 
non non, justement, je n'ai pas de null dans cette colonne. 
 
J'ai bien des 0, que je voudrais écarter
Marsh Posté le 18-03-2004 à 12:35:59
| Gurney_Halleck a écrit :   | 
 
Tu as une jointure entre ces 2 tables qd tu fais WHERE o.id = rel.id_objet 
 
J'ai édité mon code : t'as essayé ma nouvelle requête ?
Marsh Posté le 18-03-2004 à 12:39:18
Tu peux essayer ça déjà ... 
 
SELECT o.id, o.objet, COUNT( rel.id_effet ) as nb  
FROM  objets o left join relations rel  
      on o.id = rel.id_objet  
GROUP  BY o.id,o.objet 
Marsh Posté le 18-03-2004 à 12:45:47
| ratibus a écrit :   | 
 
 
ouip, j'ai essayé, mais ça me retourne exactement la même chose. 
 
Je reprécise : je voudrais que le COUNT ne prenne en compte que les id_effet dont la valeur n'est pas égale à 0
Marsh Posté le 18-03-2004 à 12:47:19
| vttman2 a écrit : Tu peux essayer ça déjà ...  | 
 
 
oui, ça ça marche, mais dans ce cas, nb=1 même quand id_effet=0 
 
je voudrais que ça me retourne nb=0 quand il n'y a que des id_effet=0
Marsh Posté le 18-03-2004 à 12:48:29
en meême temps, je sais pas si ce que je veux est possible à faire 
Marsh Posté le 18-03-2004 à 13:00:43
encore un essai  :
 : 
| Code : 
 | 
Marsh Posté le 18-03-2004 à 13:07:43
 
 
 
MERCI ! 
Donc faut le mettre dans le ON ! 
Merci bcp ! Je rajoute mon DISTINCT dans COUNT et j'ai exactement ce que je veux  
 
 
Merci encore, à tous, pour votre aide !
Marsh Posté le 17-03-2004 à 23:35:40
Salut à tous,
voilà, j'ai une table avec 4 champs :
id_action
id_objet
id_effet
id_ressource
J'aimerais compter le nombre d'id_effet non nuls (cad id_effet!=0) pour chaque id_objet
J'ai donc fait la requète suivante :
la table objets contient juste le nom de l'objet et son id, donc o.id=rel.id_objet
Or, cette requête ne me donne un résultat que si COUNT(id_effet)!=0
mais j'aimerais également qu'il me sorte les résultats si COUNT(id_effet)==0
Exemple : j'ai 216 enregistrements d'objet, et avec ma requête, il ne m'en ressort que 146, or j'aimerais qu'il m'affiche les 70 manquants avec la colonne nb égale à 0
Quelqu'un aurait il une petite idée ?
Merci d'avance !