Bonjour à tous
Je cherche à récupérer les informations sur tous les auteurs d’œuvres qui ont été ou seront au programme de concerts entre Janvier 2018 et la fin de la saison.
Sachant que certaines oeuvres sont au programme de plusieurs concerts d'une part, et que les programmes comportent différentes oeuvres des mêmes compositeurs, je désire n'avoir qu'un seul exemplaire de chaque auteur.
J'ai écrit la requête suivante:
Je pense que le code parle de lui-même: Authors est la table des auteurs, ProgramItems celle des œuvres qui sont jouées durant un concert, Programs celle des concerts.
Apparemment ce n'est pas correct: les auteurs se retrouvent plusieurs fois dans le résultat, la clause "DISTINCT" ne semble pas être prise en compte.
Comment faire pour éviter les doublons?
Merci de votre aide.
Modifié par PapyJP (08 Mar 2019 - 15:34)
Je cherche à récupérer les informations sur tous les auteurs d’œuvres qui ont été ou seront au programme de concerts entre Janvier 2018 et la fin de la saison.
Sachant que certaines oeuvres sont au programme de plusieurs concerts d'une part, et que les programmes comportent différentes oeuvres des mêmes compositeurs, je désire n'avoir qu'un seul exemplaire de chaque auteur.
J'ai écrit la requête suivante:
SELECT DISTINCT * FROM Authors AS a
JOIN ProgItems AS pi
ON pi.authorID = a.authorID
JOIN Programs AS p
ON p.progID = pi.progID
WHERE p.lastPerformed BETWEEN '2018-01-01' AND '2019-07-01'
ORDER BY a.authorID;
Je pense que le code parle de lui-même: Authors est la table des auteurs, ProgramItems celle des œuvres qui sont jouées durant un concert, Programs celle des concerts.
Apparemment ce n'est pas correct: les auteurs se retrouvent plusieurs fois dans le résultat, la clause "DISTINCT" ne semble pas être prise en compte.
Comment faire pour éviter les doublons?
Merci de votre aide.
Modifié par PapyJP (08 Mar 2019 - 15:34)