par
Patriboom » 21 nov. 2007, 16:25
Bonjour à tous!
J'ai besoin de votre avis pour faire la programmation la plus efficace possible au niveau du serveur.
Pour l'instant, je ne vois d'issue que dans la création d'une table temporaire, mais - à lire les commentaires - ce ne semble pas une voie que nous devons favoriser. Voici donc:
J'ai trois tables pour gérer des présences et participations à des activités:
La première est celle qui contient des inscriptions:
id_inscr INT
id_cours INT
id_perso INT
La seconde est celle des personnnes
id_perso INT
Nom VARCHAR
Prenom VARCHAR
La troisième est celle de la banque des activités
id_cours INT
Description VARCHAR
Dates DATE
Voici mon problème: je dois faire la liste des personnes inscrites qui ont participé à 3, 4 ou 5 cours.
Il s'agirait donc - en termes MySQL humains - de faire quelque chose comme
Code : Tout sélectionner
SELECT * FROM personnes AS PERS
JOIN activites AS ACTI ON ACTI.id_perso=PERS.id_perso
[... on ajouter ici des liens et des champs...]
WHERE COUNT(ACTI.id_cours) = 3
Voilà pourquoi j'ai pensé à une table temporaire qui ressemblerait à :
Code : Tout sélectionner
MonNom = temporary table ... et un des champs serait Nombre_cours = COUNT(résultat)
Rien n'est du code utilisable en programmation ci-haut, mais j'ai mis entre *code pour simplifier la visualisation
Merci à l'avance de vos conseils