Partage
  • Partager sur Facebook
  • Partager sur Twitter

Récupérer les non correspondances

Sujet résolu
    1 août 2018 à 16:59:56

    Bonjour,

    J'ai trois tables, dont une qui fait la correspondances entre deux :

    - Utilisateur : id_utilisateur

    - Matériel : id_materiel

    - CORRESPONDANCE_Utilisateur_Matériel : id_correspondance, id_utilisateur, id_materiel

    J'aimerais récupérer tous le matériel, qui n'existe pas dans la table CORRESPONDANCE, c'est à dire qui n'est lié à aucun utilisateur.

    La requête doit être très simple je m'en doute.


    Merci d'avance, cordialement

    -
    Edité par Martin40 1 août 2018 à 17:00:12

    • Partager sur Facebook
    • Partager sur Twitter
      1 août 2018 à 17:38:04

      Plusieurs approches, la plus propre est celle ci je pense :

      SELECT mat.* 
      FROM   materiel mat 
             LEFT JOIN correspondance_utilisateur_materiel cor 
                    ON mat.id_materiel = cor.id_materiel 
      WHERE  cor.id_materiel IS NULL 

      la plus évidente serait celle ci :

      SELECT mat.* 
      FROM   materiel mat 
      WHERE  mat.id_materiel NOT IN (SELECT id_materiel 
                                     FROM   correspondance_utilisateur_materiel) 




      • Partager sur Facebook
      • Partager sur Twitter
        1 août 2018 à 20:54:44

        Bonjour @Tiffado,

        La première solution me plait bien et elle fonctionne.

        Je te remercie.

        • Partager sur Facebook
        • Partager sur Twitter

        Récupérer les non correspondances

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown