SQL sélectionner dans deux table problème

Résolu

Bonjour;
Voilà j'ai un petit problème j'ai deux tables users et already

users c'est le table avec touts les utilisateurs
et already ont va dire ce le table avec les utilisateur dêjà "abonnee",
maintenant je veux comparer les deux tables, et afficher les utilisateurs en ignorant ceux qui sont dêjà present dans le table already

Ce que je veux

    j'ai essayer 
    LEFT JOIN already a ON a.id_user != users.id OR a.user_id2 != users.id 

    mais sa marche pas ^^

Merci d'avance bonne soirée

Si besoin de plus de détails ou autre.

3 réponses

  1. Modérateur

    Bonjour,

    Le plus simple je pense 

    SELECT *
    FROM users U
    WHERE U.id NOT IN (
      SELECT A.id_user
      FROM already A 
     )
    AND U.id NOT IN(
      SELECT A2.user_id2
      FROM already A2
     )

    Sinon, avec les jointures, tu dois pouvoir faire un truc du genre 

    SELECT U.*
    FROM users U
    LEFT JOIN already A ON  A.user_id = U.id
    LEFT JOIN already A2 ON A2.user_id2 = U.id
    WHERE A.user_id IS NULL
      AND A2.user_id2 IS NULL

    1. Contributeur

      pourquoi pas

      SELECT U.*
      FROM users U
      LEFT JOIN already A ON  A.user_id = U.id 
          OR A.user_id2 = U.id
      WHERE A.user_id IS NULL
        AND A.user_id2 IS NULL
  2. Contributeur

    bonjour,

    "ça marche pas": message d'erreur?

    peut-être:
     

    select * from users left join already
    on users.id = already.user_id2
    where already.user_id2 is null