SQL - problème de requête

Bertrand -  
deus Messages postés 93 Statut Membre -
Bonjour,
j'ai une table Tuser et une autre Tlog. La table Tuser comprend une liste de personnes, chacune ayant un indentifiant unique : UserID. Quand un utilisateur se connecte, j'enregistre son UserID dans la table Tlog.
Je souhaite avoir la liste de toute les personnes qui ne se sont pas connectées. Comment faire ?
J'ai essayé
select * from Tlog,Tuser where Tlog.UserID<>Tuser.UserID
mais ça ne fonctionne pas.
Merci de votre aide

4 réponses

  1. teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   1 797
     
    Salut...Ca te renvois quoi?
    Sinon essaye
    SELECT * FROM Tuser WHERE Tuser.UserID NOT IN (SELECT UserID FROM Tlog); 

    Ou un truc du genre, pu bien sur de la syntaxe...

    .  .
    \_/
            Sauvez Maily! Mangez Castor!
    0
  2. teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   1 797
     
    Je pourrais meme preciser pour aller plus vite de mettre un "UNIQUE" dans le deuxieme select...

    .  .
    \_/
            Sauvez Maily! Mangez Castor!
    0
  3. Bertrand
     
    merci pour ces réponses rapides. En fait ta requête ne fonctionne pas teebo (j'utilise mysql 4.14). Il me dit simplement qu'il y a une erreur dans la commande SQL. J'ai pu trouver la réponse sur mysql.com, la voici :
    SELECT * from FROM Tuser LEFT JOIN Tlog ON Tuser.UserID=Tlog.UserID WHERE Tlog.UserID IS NULL
    Ca ne se devine pas !
    0
  4. deus Messages postés 93 Statut Membre 91
     
    Just for the record, la requête de Teebo est correcte seulement, si je ne me trompe pas, MySql ne supporte pas les requêtes imbriquées d'où l'erreur.

    Bonne journée

    dEUS
    There's no success like failure
    And failure's no success at all
    0