SQL Serveur 2000

Fermé
azerty_tux Messages postés 1 Date d'inscription jeudi 18 mars 2010 Statut Membre Dernière intervention 18 mars 2010 - 18 mars 2010 à 17:07
 azerty_tux - 18 mars 2010 à 22:44
Bonjour,

Je dois faire des statistiques sur des données contenu dans un champ MOTIF d'une table MA_TABLE.



Ils sont par exemple de ce type:
Haricots|Pomme de terre|Carotte|Navets
Tomate|Carotte
Poivrons|Tomate
Navets
Sauce
Poivre
Sel|Gimgembre

J'aimerai avoir le nombre d'occurrences des chaines de caractères Tomate, Poivrons, Pomme de terre, Navets, ...

Mais je ne trouve pas du tout comment faire avec une requête SQL ...


Merci de m'aider s'il vous plait.

PS: Comme les données sont confidentielles, je les ai remplacé par des noms de légumes et autres pour le fun...

2 réponses

Tung Messages postés 187 Date d'inscription jeudi 7 février 2008 Statut Membre Dernière intervention 20 août 2013 8
18 mars 2010 à 17:11
Tu peux essayer le Count:

Select count(*) from Motif where Champ_Type like 'Tomate'

Bref c'est ce que je croix que tu veux exactement.

Bonne chance
0
Oui mais cette requête serait valable si je prends connaissance des valeurs possibles que peut contenir le champ MOTIF.
Par exemple, si j'avais mon champs sous cette forme là:

Haricots
Pomme de terre
Carotte
Navets
Tomate
Carotte
Poivrons
Tomate
Navets
Sauce
Poivre
Sel
Gingembre


Là, je pourrais écrire:

SELECT    MOTIF, COUNT(MOTIF) AS NB
                      FROM          MA_TABLE
                   -- WHERE    (DATE_CRE >= '$DEBUT')
                   -- AND (DATE_CRE <= '$FIN')
                      GROUP BY MOTIF



Mais dès qu'il y a des pipes qui sont générés automatiquement dans la table en tant que séparateur, parce deux légumes (Tomate, puis Carotte) ont été choisi dans une page web, grâce à une checkbox, là ca se complique.
0