requete bizard

requete bizard - SQL/NoSQL - Programmation

Marsh Posté le 02-11-2005 à 10:52:13    

Bonjour, dans ma table j'ai un champ impact qui prend sa valeur dans une liste de choix à savoir soit la valeur "AUCUN" soit un des autres valeurs.
Si ce champ vaut "AUCUN" c'est qu'il n'y a pas d'impact, dans tous les autres cas il y a un impact.
Mon problème est donc le suivant, je voudrais faire une requête SQL qui me compte les "avis avec impact" et les "avis sans impact" pour obtenir un resultat dans ce genre là :
 
 
titre     tye d'avis   |  valeur
         -----------------------
         sans impact |     x
         -----------------------
         avec impact |    y
 
l'ennui c'est que je n'arrive pas à regrouper tous les "avis avec impact" de cette façon, car dans le meilleur des cas j'obtiens :  
 
          avec impact | sans impact
        ----------------------------
                 x         |        y
 
 
Bref je m'y perds un peu ... et j'ai besoin d'un peu d'aide  :wahoo:  

Reply

Marsh Posté le 02-11-2005 à 10:52:13   

Reply

Marsh Posté le 02-11-2005 à 11:04:54    

si ton sgbd te le permet tu peux faire un truc du style

Code :
  1. select if(typedavis='AUCUN','sans impact','avec impact') as typedavis,count(*)
  2. from Tatabledavis
  3. group by if(typedavis='AUCUN','sans impact','avec impact')

Reply

Marsh Posté le 02-11-2005 à 11:17:53    

Mon SGBD c'est ... Microsoft Access 2002 et malheureusement cela n'a pas l'air de lui plair les "if" dans la requête SQL :( j'obtiens l'erreur "fonction if non définie dans l'expression"  :heink:


Message édité par sharky01 le 02-11-2005 à 11:18:13
Reply

Marsh Posté le 02-11-2005 à 11:24:11    

iif alors

Reply

Marsh Posté le 02-11-2005 à 13:52:11    

" iif " ? ca me semble très étrange  :heink: et ca ne fonctionne pas ...

Reply

Marsh Posté le 02-11-2005 à 14:33:47    

je crois que MS Access est case sensitive sur ses mots clés (c du VBA d'ailleurs)
donc tente IIF(condition;resultat si vrai;resultat si faux)


---------------
The Rom's, à votre service
Reply

Marsh Posté le 02-11-2005 à 14:56:29    

Oki merci en effet cela fonctionne très bien ;) merci

Reply

Marsh Posté le 02-11-2005 à 15:05:07    

c vrai la syntaxe Access demande des ; entre les condition et resultats
le principal c'est que ca marche

Reply

Sujets relatifs:

Leave a Replay

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