Bonjour,
Je suis en train de concevoir un système de classement de documents.
J'utilise mysql comme SGBD.
J'ai une table Paper pour les infos sur les différents documents.
Cette table est reliée à une table Author via une association Published_by_author pour lister les auteurs.
Elle est aussi reliée à une table Org via une association Published_by_org pour lister les organisations responsables de la publications.
Et pour finir, elle aussi aussi reliée à une table Zine via une association From_issue pour indiquer que le document est tiré d'un magasine.
Pour un affichage des différents documents, j'ai fait cette requète :
Le problème c'est que si un article n'est pas en relation avec une des tables Author, Org ou Zine, il apparait plusieurs fois avec chacun des résultat possible pour les relations manquante.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 SELECT -- Paper stuff P1.title, -- Author stuff GROUP_CONCAT(Author.name), -- Org stuff GROUP_CONCAT(Org.name), -- zine stuff From_issue.zine FROM (Paper AS P1 JOIN Published_by_author ON P1.id = Published_by_author.paper) JOIN Author ON Author.id = Published_by_author.author, (Paper AS P2 JOIN Published_by_org ON P2.id = Published_by_org.paper) JOIN Org ON Org.name=Published_by_org.org, (Paper AS P3 JOIN From_issue ON P3.id=From_issue.paper) GROUP BY P1.id, P2.id, P3.id ;
Pourriez-vous m'aider ?
Merci.
Partager