Je reviens avec un problème de requete que j'améliore de jour en jour mais pour laquelle je bloque de nouveau.
Peut on dans une même requete remonter une somme d'un champ, mais aussi le nombre d'enregistrement pour ce champ ?
Et peut on aussi créer une sous requete qui remonte une info pour chaque enregistremet ?
Je redonne les infos des tables :
JEUNE =>
CODE_JEUNE, NOM_JEUNE, PRENOM_JEUNE
ABSENCE_CONSTATEE =>
CODE_JEUNE, NB_CRENEAU, CODE_GROUPE, CODE_MOTIF_ABS
GROUPES =>
CODE_GROUPE, NOM_GROUPE
MOTIF_ABSCENCE =>
CODE_MOTIF_ABS, ABS_JUSTIFIE
L'idée est de recupérer Jeune par Jeune :
- le nombre d'abscence (nombre d'enregistrement du CODE_JEUNE dans ABSENCE_CONSTATEE),
- le cumul d'abscence (Somme de NB_CRENEAU dans ABSENCE_CONSTATEE pour un CODE_JEUNE),
- le cumul d'abscence justifié (Somme de NB_CRENEAU dans ABSENCE_CONSTATEE pour un CODE_JEUNE ayant un CODE_MOTIF_ABS qui dans MOTIF_ABSCENCE à un ABS_JUSTIFIE = "O"),
- et d'avoir aussi le nom du groupe (relation entre CODE_GROUP et NOM_GROUP).
ça marche avec :
$Sql = "SELECT j.CODE_JEUNE, j.NOM_JEUNE, j.PRENOM_JEUNE,
SUM(a.NB_CRENEAU) AS heures
FROM JEUNE j
INNER JOIN ABSENCE_CONSTATEE a ON a.CODE_JEUNE = j.CODE_JEUNE
WHERE j.CODE_JEUNE < 10
GROUP BY j.CODE_JEUNE, j.NOM_JEUNE, j.PRENOM_JEUNE"; mais pour avoir le nombre (un COUNT couplé avec le SUM), je n'y parviens pas.
De même je ne parviens à mettre dans le select le relation pour le nom du groupe sans avoir une erreur "Dynamic SQL Error SQL error code = -104 invalid column reference in"
cf. post http://www.phpfrance.com/forums/voir_sujet-19441-30.php
Merci à tous, je galère vraiment là.