Je ne sais pas trop si ça se fait, j’ouvre ce fil pour donner une réponse à une question que j’ai posée ici. J’espère ne pas faire un doublon . Et si ça peut aider quelqu’un...
Pour rappel, j'ai des articles écrits par un ou plusieurs auteurs, et abordant un ou plusieurs thèmes.
Je souhaite obtenir la liste des auteurs et des thèmes pour chaque article.
Piaf donne la solution pour la concaténation des enregistrements d’une colonne ici (3ème solution), et dans mon cas là . Je n’y reviens pas, je ferais moins bien que lui. Cf claystone.odb Pour obtenir la liste des auteurs classés par ordre alphabétique, je n’ai pas réussi à trouver une solution utilisant un ORDER BY bien placé.
J’ai contourné cette difficulté en ajoutant une étape avant les deux étapes décrites par Piaf :
créer une vue jumelle de la table de relation n to n REL_ATICLE_AUTEUR en ajoutant une colonne qui identifie les auteurs par leur place dans l’ordre alphabétique de la table AUTEUR (en remplacement de l’identification par la clé primaire de cette même table)
numérotation des auteurs par ordre alphabétique :
Code : Tout sélectionner
( SELECT COUNT( "AUTEUR"."auteur" ) FROM "AUTEUR" AS "TEST_ALPHA" WHERE "AUTEUR"."auteur" > "TEST_ALPHA"."auteur" ) + 1
Code : Tout sélectionner
SELECT "REL_ARTICLE_AUTEUR"."ref_article",
( SELECT COUNT( "AUTEUR"."auteur" ) FROM "AUTEUR" AS "TEST_ALPHA" WHERE "AUTEUR"."auteur" > "TEST_ALPHA"."auteur" ) + 1 AS "ref_auteur_alpha",
"REL_ARTICLE_AUTEUR"."ref_auteur"
FROM "REL_ARTICLE_AUTEUR", "ARTICLE", "AUTEUR"
WHERE "REL_ARTICLE_AUTEUR"."ref_article" = "ARTICLE"."id_article"
AND "REL_ARTICLE_AUTEUR"."ref_auteur" = "AUTEUR"."id_auteur"
ORDER BY "REL_ARTICLE_AUTEUR"."ref_article" ASC, "REL_ARTICLE_AUTEUR"."ref_auteur" ASC
A+