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 !