Le 30/04/06, julien cochennec<[EMAIL PROTECTED]> a écrit :
Bonjour à tous, j'ai testé une requête complexe, qui fait appel à une autre requête imbriquée (merci encore à Manuel Naudin pour cette idée de génie), voici la requête :SELECT DISTINCT "T2"."annee", "T2"."niveau", "T2"."division", "T2"."matiere", "T2"."nom", "T2"."periode", "T2"."taxonomie", AVG("T1"."appreciation_taux")*100 AS "note" FROM "appreciation" AS "T1", "resultats" AS "T3", (SELECT DISTINCT "classes"."cla_annee" AS "annee", "classes"."cla_niveau" AS "niveau", "classes"."cla_division" AS "division", "classes"."cla_id" AS "classe_id", "matieres"."matiere" AS "matiere", "evaluations"."eva_matiere" AS "matiere_id", "resultats"."res_eleve_id" AS "eleve_id", "eleves"."ele_nom" AS "nom", "evaluations"."eva_periode" AS "periode", "details_evaluations"."det_com_id" AS "item", "details_evaluations"."det_taxonomie" AS "taxonomie_id", "registres_taxonomiques"."reg_description" AS "taxonomie", MAX( "resultats"."res_repere" ) AS "derniere" FROM "details_evaluations" "details_evaluations", "evaluations" "evaluations", "resultats" "resultats", "classes" "classes", "matieres" "matieres", "eleves" "eleves", "classes_eleves" "classes_eleves", "registres_taxonomiques" "registres_taxonomiques" WHERE ( "details_evaluations"."det_evaluation" = "evaluations"."eva_id" AND "resultats"."res_evaluation" = "evaluations"."eva_id" AND "resultats"."res_numero" = "details_evaluations"."det_numero" AND "evaluations"."eva_classe_id" = "classes"."cla_id" AND "evaluations"."eva_matiere" = "matieres"."matiere_id" AND "resultats"."res_eleve_id" = "eleves"."ele_id" AND "classes_eleves"."asso_classe_id" = "classes"."cla_id" AND "classes_eleves"."asso_eleve_id" = "eleves"."ele_id" AND "details_evaluations"."det_taxonomie" = "registres_taxonomiques"."reg_id" ) GROUP BY "classes"."cla_annee", "classes"."cla_niveau", "classes"."cla_division", "classes"."cla_id", "matieres"."matiere", "evaluations"."eva_matiere", "resultats"."res_eleve_id", "eleves"."ele_nom", "evaluations"."eva_periode", "details_evaluations"."det_com_id", "details_evaluations"."det_taxonomie", "registres_taxonomiques"."reg_description" ORDER BY "annee" ASC, "niveau" ASC, "division" ASC, "classe_id" ASC, "matiere" ASC, "matiere_id" ASC, "eleve_id" ASC, "eleves"."ele_nom" ASC, "periode" ASC, "item" ASC, "taxonomie_id" ASC, "taxonomie" ASC) "T2" WHERE ("T2"."eleve_id"="T3"."res_eleve_id" AND "T2"."derniere"="T3"."res_repere" AND "T1"."appreciation_id"="T3"."res_appreciation") GROUP BY "T2"."annee", "T2"."niveau", "T2"."division", "T2"."matiere", "T2"."nom", "T2"."periode", "T2"."taxonomie" bon, je sais, c'est peut-être pas intéressant de mettre un texte aussi peu lisible, mais mon erreur est peut-être évidente pour certains d'entre vous, donc je le met au cas où. Cette requête fonctionne (et oui, moi non plus j'en reviens pas), mais il se passe deux problèmes étranges : 1) si je ne met pas l'alias "note" juste avant FROM, le dernier champ n'apparaît pas! est-ce un bug?
Bonjour, comme je j'ai indiqué dans le how-to requête sql directes, tu es effectivement obligé d'attribuer un alias à toutes les fonctions utilisées dans une requête pour que le champ calculé s'affiche correctement dans Base.
2) cette requête me donne une liste de résultats que je veux exploiter dans un rapport ou un formulaire. Mais dès que je lance l'assistant rapport, je sélectionne cette requête, il me répond qu'il n'a pas pu extraire le nom des champs de cette requête!!! bug aussi? ou fausse manip de ma part? est-ce qu'il faut un alias pour chaque champ? autre surprise, le problème se produit aussi, exactement de la même façon, dans un formulaire sous calc, je remplis donc les propriétés des contrôles à la main... et ça fonctionne! quelqu'un a-t-il une explication?
est-ce que tu as essayé de créer une vue à partir de cette requête (clic-droit sur la requête > Créer en tant que vue) et d'utiliser ensuite cette vue comme source dans l'assistant rapport. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
