SQL Serveur 2000

azerty_tux Messages postés 1 Statut Membre -  
 azerty_tux -
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

  1. Tung Messages postés 212 Statut Membre 8
     
    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
  2. azerty_tux
     
    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