Page 1 sur 1

Petit problème de requête

Posté : 29 mars 2007, 12:04
par deborah
Bonjour,

Voila je possède de deux dans ma base,elles sont en relation 1:n ,toutes deux contienne des données.

Dans l'une des tables il a y certains ID de l'autre tables, et je voudrai faire une requête qui permettrai de n'afficher que les ID qui ne sont pas dans la première table.

j'ai essayé ca mais sans succès :

Code : Tout sélectionner

SELECT Id_Hotel FROM Hotel INNER JOIN Moteur_Resa ON Moteur_resa.Hotel_Id_Hotel = Hotel.Id_Hotel WHERE Moteur_resa.Hotel_Id_Hotel <> Hotel.Id_Hotel
Et le résultat qu'il me donne est vide

Merci d'avance.
Débo

Posté : 29 mars 2007, 12:12
par orgerix
Ca me semble logique que ca donne rien...

EN condition de jointure, tu demande que Moteur_resa.Hotel_Id_Hote et Hotel.Id_Hotel soient identique, puis dans la clause WHERE, tu demande qu'ils soient différents...

les jointures internes ne prennent que les valeurs présentes dans les deux tables.

Dans ce quand, il faut que tu utilises OUTER JOIN, ce qui donne :

Code : Tout sélectionner

SELECT Id_Hotel FROM Hotel LEFT OUTER JOIN Moteur_Resa ON Moteur_resa.Hotel_Id_Hotel = Hotel.Id_Hotel WHERE Moteur_resa.Hotel_Id_Hotel IS NULL

Posté : 29 mars 2007, 12:19
par deborah
Merci beaucoup beaucoup, ca fonctionne