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]

Reply via email to