Aidez mois

Résolu
deep_sea Messages postés 215 Statut Membre -  
deep_sea Messages postés 215 Statut Membre -
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

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    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
    1. deep_sea Messages postés 215 Statut Membre 1
       
      ça fonctionne merci infiniment
      0
  2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    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
    1. deep_sea Messages postés 215 Statut Membre 1
       
      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