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 :

Requête sur 3 tables


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2021
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Requête sur 3 tables
    Bonjour à tous
    ça fait 2 heures que je butte sur un souci de requête. Je sais que certain(e)s d'entre vous vont trouver ça "bête comme chou" mais pour un padawan c'est trop difficile....
    Aussi merci de m'aider
    Voilà mes tables (je ne mets que les champs utiles) :

    TableEmail :
    id_email / email / id_commande

    TableCommandes
    id_commande

    TableContacts
    id_contact / email

    Je cherche à récupérer les enregistrements de TableCommandes qui ont un id dans TableEmail associé à un email présent dans la TableContacts
    J'en suis à je ne sais plus combien d'essais infructueux... J'ai des noeuds dans les neurones aïe.

    D'avance merci pour votre aide
    Julien

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 804
    Points
    30 804
    Par défaut
    Ca s'écrit comme ça s'énonce
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    select  cmd.*
    from    TableCommandes  as cmd
    where   cmd.id_commande in
            (   select  eml.id_commande
                from    TableEmail  as eml
                where   eml.email   in
                        (   select  cnt.email
                            from    TableContacts   as cnt
                        )
            )
    C'est la forme la plus directe d'écriture d'une requête correspondant à ta demande. Il y a certainement possibilité de faire quelque chose de plus performant comme par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    select  cmd.*
    from    TableCommandes  as cmd
    where   exists 
            (   select  0 
                from    TableEmail      as eml
                    inner join
                        TableContacts   as cnt
                        on  cnt.email   = eml.email
                where   eml.id_commande = cmd.id_commande
            )
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2021
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Hey grand merci à toi al1_24, c'est parfait, juste parfait !!!
    Très bonne soirée

Discussions similaires

  1. Besoin d'aide pour requête sur grosse table
    Par Fabouney dans le forum Langage SQL
    Réponses: 3
    Dernier message: 25/01/2006, 09h01
  2. Problème de requêtes sur deux tables
    Par Pymm dans le forum Access
    Réponses: 6
    Dernier message: 06/09/2005, 09h06
  3. Requête sur plusieurs tables
    Par drinkmilk dans le forum Langage SQL
    Réponses: 8
    Dernier message: 11/07/2005, 12h25
  4. Requête sur 2 tables ?
    Par kibodio dans le forum Langage SQL
    Réponses: 3
    Dernier message: 30/03/2005, 15h57
  5. Requête sur 2 tables et surtout novice...
    Par kibodio dans le forum Langage SQL
    Réponses: 13
    Dernier message: 03/03/2005, 15h45

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