Table temporaire ou pas?
Posté : 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
Voilà pourquoi j'ai pensé à une table temporaire qui ressemblerait à :
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
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) = 3Code : 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