Petit problème de requête

Eléphanteau du PHP | 35 Messages

29 mars 2007, 12:04

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

Mammouth du PHP | 693 Messages

29 mars 2007, 12:12

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

Eléphanteau du PHP | 35 Messages

29 mars 2007, 12:19

Merci beaucoup beaucoup, ca fonctionne