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 :
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
;
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.

Pourriez-vous m'aider ?

Merci.