IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Requete avec jointure et présence ou absence du champ sélectionné


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 37
    Points : 29
    Points
    29
    Par défaut Requete avec jointure et présence ou absence du champ sélectionné
    Salut à tous.

    Je dispose de 3 tables newsletter dans une base.
    Dans chaque table on trouve un e-mail pour l'envoi de newsletter.

    Je suis à la recherche d'une requête SQL qui me permettrait de faire une jointure entre les adresses e-mail et me confirmerait la présence de l'e-mail dans la table 1, et/ou la table 2 et/ou la table 3.

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Email       -       Tab1         -         Tab2         -         Tab3
    email1     -         X            -                      -         X
    email2      -                       -        X          -           X
    email3      -        X             -         X           -          X
    Pour info, on peut trouver l'email dans la tab1 mais pas forcément dans les deux autres, dans la tab2 mais pas forcément dans les deux autres etc ...

    J'ai commencé à chercher sur du LEFT OUTER JOIN, mais je n'arrive pas à récupérer les entrées qui ne sont pas présentes dans la tab1 (mais dans la tab2 et/ou tab3).

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Déjà il vous faut une table de référence de vos emails :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT Email FROM Tab1
    UNION
    SELECT Email FROM Tab2
    UNION
    SELECT Email FROM Tab3
    Maintenant vous pouvez utiliser ceci et effectuer des jointures externes sur les trois tables, je vous laisse chercher un peu !

  3. #3
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 37
    Points : 29
    Points
    29
    Par défaut
    Excellent, je n'avais pas pensé à l'union.

    J'ai rajouté les clauses de jointures dans chaque select avec LEFT OUTER JOIN et tout est ok.

    Je vous remercie Waldar.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 06/02/2007, 13h46
  2. [ADO] Requete avec jointure
    Par okparanoid dans le forum Bases de données
    Réponses: 6
    Dernier message: 08/11/2006, 17h05
  3. recherche aide pour requete avec jointure
    Par nebil dans le forum Requêtes
    Réponses: 5
    Dernier message: 21/08/2006, 17h03
  4. [MySQL] Erreur dans une requête avec jointures
    Par bobic dans le forum Langage SQL
    Réponses: 17
    Dernier message: 03/08/2006, 13h04
  5. requete avec jointure & group by
    Par de LANFRANCHI dans le forum Langage SQL
    Réponses: 9
    Dernier message: 27/07/2004, 14h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo