Une seule requête SQL ?

Résolu
Zlub Messages postés 809 Date d'inscription mercredi 11 octobre 2000 Statut Membre Dernière intervention 29 septembre 2010 - 19 juil. 2005 à 23:49
Zlub Messages postés 809 Date d'inscription mercredi 11 octobre 2000 Statut Membre Dernière intervention 29 septembre 2010 - 20 juil. 2005 à 10:34
Salut,





Voici le topo : J'ai deux tables une contenant disons, des personnes et une autre contenant des cours



voici la structure pour l'exemple :



[ Personnes ]




<li>idPer (clé)

</li><li>nom

</li><li>etc

</li>


[ Cours ]




<li>lib

</li><li>date

</li><li>idPer

</li>




exemple de remplissage



[ Personnes ]
1 Dupont ...
2 Durand ...
3 David ...





[ Cours ]



math 01/01/2005 1
math 01/01/2005 3
math 02/01/2005 2
math 03/01/2005 1
angl 02/01/2005 1
angl 03/01/2005 2
Geo 04/01/2005 1
Geo 04/01/2005 2
Geo 04/01/2005 3



je voudrais en une seule requête sql afficher toutes les libs des cours en colone puis le nom de la personne.
Et pour chaque personne, dans la colone associée au cours, marquer le nb de participation cad



Math angl Geo Nom



2 1 1 Dupont
1 1 1 Durand
1 0 1 David



-------------------->



Y



J'ai une solution par le code avec deux requêtes :




<li> une pour lister les different cours + ajouter le libeller « Nom »

</li><li> une pour compter le nb de presence de la personne X au cours Y et afficher le nom de la personne (Y)


</li>




mais j'ai besoin d'utiliser une seule requete SQL...






Sous acess mais j'ai une solution, mais j'ai besoin de le faire tourner depuis VB avec ADO...

or il n'aime pas vraiement ma requête...


voici ma requete sous acess


TRANSFORM count(cours.lib) as nb

SELECT personnes.nom

FROM cours INNER JOIN personnes ON cours.idPer = personnes.idPer

GROUP BY personnes.nom

PIVOT cours.lib





quelqu'un a une idée ?





Nb: ce n'est pas la structure de ma base,

c'est juste histoire que ma demande soit plus facile à comprendre....



++



Zlub

1 réponse

Zlub Messages postés 809 Date d'inscription mercredi 11 octobre 2000 Statut Membre Dernière intervention 29 septembre 2010 9
20 juil. 2005 à 10:34
Semble que TRANSFORM ne soit pas pris en compte avec MS Access 97 ...
mais les version supérieures acceptent sans pb... donc j'ai ma réponse
...


++

Zlub
3