Doublons dans une requête avec UNION [SQL]

Résolu/Fermé
em72 Messages postés 179 Date d'inscription samedi 24 janvier 2009 Statut Membre Dernière intervention 6 juillet 2012 - Modifié par em72 le 10/05/2012 à 20:37
Skeletyon Messages postés 1552 Date d'inscription jeudi 20 novembre 2008 Statut Membre Dernière intervention 30 décembre 2013 - 11 mai 2012 à 14:07
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!
A voir également:

1 réponse

Skeletyon Messages postés 1552 Date d'inscription jeudi 20 novembre 2008 Statut Membre Dernière intervention 30 décembre 2013 156
11 mai 2012 à 14:07
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.



0