SQL Count

Pierre -  
 Pierre -
Bonjour,

j'ai une table qui contient un id_enregistrement (auto incrément : celui là on s'en fiche un peu), un id_adherent et un id_contact.

les id_adherent et id_contact représentent en réalité la même chose : un id_membre qui va piocher dans une autre table.

Donc par exemple, l'id_membre 15 peut se retrouver soit dans le champs id_adherent, soit dans le champs id_contact.

La requette que je veux doit compter le nombre de fois qu'apparait cet id 15 (et les autres) dans la TABLE : s'il est 3 fois dans id_adherent et 5 fois dans id_contact, le résultat est donc 8.

Merci pour votre aide,

Pierre

A voir également:

2 réponses

loupius Messages postés 789 Statut Membre 148
 
Je résume ce que j'ai cru comprendre:
- soit une table 'maTable' ayant, en autres, deux champs (idAdh et idCnt) dont on veut connaître la somme de l'apparition de ces deux champs dans la table et ce pour chaque membre.
La solution proposée n'est sans doute ou peut-être pas la meilleure:
SELECT id,SUM(nb) 
  FROM 
     ( 
     (SELECT idAdh AS id,COUNT(*) AS nb FROM maTable GROUP BY idAdh) 
     UNION 
     (SELECT idCnt AS id,COUNT(*) AS nb FROM maTable GROUP BY idCnt) 
     ) 
  AS xxx 
  GROUP BY id;
Nota: La syntaxe varie parfois selon la base de donnée.
Bonne continuation.
0
Pierre
 
Impeccable, merci!
0