SQL Serveur 2000

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. 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
    1. 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