Doublons dans une requête avec UNION [SQL] [Résolu/Fermé]

Signaler
Messages postés
179
Date d'inscription
samedi 24 janvier 2009
Statut
Membre
Dernière intervention
6 juillet 2012
-
Messages postés
1547
Date d'inscription
jeudi 20 novembre 2008
Statut
Membre
Dernière intervention
30 décembre 2013
-
Bonsoir,

J'ai une table SQL DVD qui possède les champs suivants:
id_dvd
titre_dvd
id_acteur1
id_acteur2
id_acteur3
...

Et une table AUTEUR qui contient les acteurs (avec notamment le champ "nom_acteur").

J'ai fais la requête suivante pour rechercher un DVD par auteur:

SELECT id_dvd, titre_dvd, nom_acteur FROM DVD, ACTEUR WHERE ACTEUR.id_acteur=DVD.id_acteur1 AND (ACTEUR.nom_acteur LIKE mot OR DVD.titre_document LIKE mot)

UNION SELECT id_dvd, titre_dvd, nom_acteur FROM DOCUMENT, AUTEUR WHERE ACTEUR.id_acteur=DVD.id_acteur2 AND ACTEUR.nom_acteur LIKE mot

UNION SELECT id_dvd, titre_dvd, nom_acteur FROM DOCUMENT, AUTEUR WHERE ACTEUR.id_acteur=DVD.id_acteur3 AND ACTEUR.nom_acteur LIKE mot;


Le problème c'est que cela me ramène des doublons s'il trouve le mot à la fois dans le titre et dans nom_acteur correspondant à id_acteur2...

Comment éviter cela?

En vous remerciant!

1 réponse

Messages postés
1547
Date d'inscription
jeudi 20 novembre 2008
Statut
Membre
Dernière intervention
30 décembre 2013
152
Bonjour.

Sans décortiquer vos requêtes, le plus simple, en général, quand on a des doublons est d'utiliser DISTINCT dans sa requête.