Aidez mois

Résolu/Fermé
deep_sea Messages postés 201 Date d'inscription mardi 10 mai 2016 Statut Membre Dernière intervention 10 décembre 2022 - 2 juin 2016 à 17:40
deep_sea Messages postés 201 Date d'inscription mardi 10 mai 2016 Statut Membre Dernière intervention 10 décembre 2022 - 15 juin 2016 à 12:29
Bonjour
lorsque j'utilise le group by pour calculer le nombre d'accident selon une contrat
j'ai trouvé un probléme lorsque dans la méme contrat je trouve dans le champs nature c et m je veux qu'il affiche le c
quoi a faire j'ai utiliser case when nature=c or nature=m than nature=c
mais n'a marche pas

2 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
5 juin 2016 à 17:34
Tu peux utiliser une sous requête. A mon avis ça sera le plus simple.
Un truc du genre :


SELECT T1.NATURE
            , COUNT(T1.N_s) as NB
FROM (
  SELECT N_s
             , CASE nature 
                WHEN 'c' THEN c
                WHEN 'm' THEN c
                ELSE nature
                END  as NATURE              
  FROM accident
) T1
GROUP BY   NATURE; 

1
deep_sea Messages postés 201 Date d'inscription mardi 10 mai 2016 Statut Membre Dernière intervention 10 décembre 2022 1
15 juin 2016 à 12:29
ça fonctionne merci infiniment
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
2 juin 2016 à 17:41
Bonjour,

Sans voir ce que tu as écris ... impossible de t'aider !

NB: **** Attention ****
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

.
0
deep_sea Messages postés 201 Date d'inscription mardi 10 mai 2016 Statut Membre Dernière intervention 10 décembre 2022 1
5 juin 2016 à 11:26
re
j'ai utilisé le "group by " de SQL pour calculer le nombre d'accident par contrat et pour afficher la nature_d'accident
select count(N_s) , nature
from accident
group by nature;


Est ce que une nature "c" ou bien "m" .
mais un probléme a été signaler , car le cas ou il récupère 3 accident par contrat de nature différente il regroupe les 2 de la même nature et affiche
- 2 nombre de nature 'm'
-1 nombre de nature 'c'
je veux qu'il affiche 3 avec la valeur 'c'
merci de votre aide
0