Bonjour,
Je travaille actuellement sur un projet étudiant qui consiste à améliorer le système d'emprunt et de retour de livres grâces à une bdd dans une biblio.
Et je suis coincé sur une chose gênante et qui me stress car j'ignore si le résultat étrange est dû simplement à la requête que j'effectue, ou bien dû à une mauvaise conception de la bdd (étant donné que j'ai déjà réalisé pas mal de code en PHP).
Voici la bdd:
Imaginons la bibliothécaire souhaite ajouter un nouveau titre comme Dragon Ball Z dans la biblio, mais ce titre sera dès le début présent en 2 exemplaires, voici ma requête:
SELECT DISTINCT *
FROM livres, auteur, editeur, exemplaire, emprunt, implementation1, implementation2
WHERE
livres.numero_livre = implementation1.numero_livre AND
implementation1.ID_auteur = auteur.ID_auteur AND
implementation1.Siret = editeur.siret
AND //On retourne dans la table Livre
livres.numero_livre = implementation2.numero_livre AND
implementation2.ID_exemplaire = exemplaire.ID_exemplaire AND
exemplaire.ID_exemplaire = emprunt.ID_exemplaire;
Et là le résultat:
Comme nous le constations, ces deux livres ont les mêmes titres, auteurs et éditeurs, mais pas les mêmes numéros d'exemplaire.
Maintenant, imaginons je souhaite ajouter un 3e livre Dragon Ball Z mais venant d'un éditeur différent, comme l'édition Mira (soyons fou):
Normalement, seul 3 résultats devaient apparaître à l'écran, mais ici nous en avons 6.
Honnêtement, j'ai cherché toute la journée hier et je n'ai trouvé aucunes réponses qui me conviennent et je ne comprends pas pourquoi un tel résultat est renvoyé, c'est pour cela que je viens demander votre aide.
Je vous en remercie d'avance.
Message édité le 18 février 2020 à 13:24:54 par LepetitJinouga