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 :

jointure en gardant tous les enregistrements d'une table


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 118
    Points : 52
    Points
    52
    Par défaut jointure en gardant tous les enregistrements d'une table
    Bonjour,

    Voilà, j'ai un probleme pour faire une jointure suplémentaire dans une requete.

    j'ai la requete qui ressemble à ça:

    [code]
    select zone1,zone2,zone3

    from tableA INNER JOIN tableB ON tableA.zone4 = tableB.Zone4

    where tableA.zone5 = 'toto'
    [code]

    dans cette requete je voudrais introduire une 3ème table 'tableC'.

    je voudrais lier TableA et tableC par tableA.zone4 = tableC.zone4

    Mais seulement je voudrais comme résultat tous les enregistrements que je récupère déja avec l'ancienne requete mais dans ces enregistrements je voudrais des zones en plus de la tableC.

    Ces zones auront une valeur si il existe un lien sinon ces zones seront à nul.

    Comment je peux faire ? Ce que j'ai réussi à faire c'est de ramener uniquement les enregistrements qui remplissent la condition tableA.zone4 = tableC.zone4 et donc finalement pas tous les enregistrements si tableC ne contient pas tous les enregistrement de mon ancienne requettes.

    Est ce que il est possible de faire ce genre de chose ?


    Merci pour votre aide

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 861
    Points : 965
    Points
    965
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    select 
         zone1,zone2,zone3
    from tableA 
    INNER JOIN tableB 
         ON tableA.zone4 = tableB.Zone4
    LEFT OUTER JOIN tableC
         ON tableA.zone4 = tableC.zone4
    where tableA.zone5 = 'toto'

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 118
    Points : 52
    Points
    52
    Par défaut
    OK, je récuère bien tous les enregistrements cette fois.
    merci a toi.

    tu connais une doc sur le net ou pas qui exlique bien la diff entre
    INNER JOIN, LEFT OUTER JOIN, etc...

    car pour l'instant j'avoue que c'est pas clair.

    A+

  4. #4
    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 801
    Points
    30 801
    Par défaut
    En cliquant sur le lien SQL au bas de cette page, tu accèdes à tout une liste de documents, parmi lesquels celui-ci : Les jointures, ou comment interroger plusieurs tables, qui devrait répondre à tes questions.
    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.

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

Discussions similaires

  1. Effacer tous les enregistrements d'une table
    Par yendre dans le forum Langage
    Réponses: 10
    Dernier message: 22/03/2013, 14h14
  2. Supprimer tous les enregistrements d'une table
    Par kroma23 dans le forum Bases de données
    Réponses: 6
    Dernier message: 18/05/2008, 16h04
  3. Réponses: 3
    Dernier message: 13/05/2007, 10h36
  4. Effacer tous les enregistrements d'une table
    Par plutonium719 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 08/08/2006, 15h05
  5. Afficher tous les enregistrements d'une table
    Par bertrand_declerck dans le forum QuickReport
    Réponses: 2
    Dernier message: 08/07/2005, 08h35

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