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

Access Discussion :

Combiner plusieurs LEFT JOIN dans une requète


Sujet :

Access

  1. #1
    Candidat au Club
    Inscrit en
    Août 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Combiner plusieurs LEFT JOIN dans une requète
    Bonjour ;

    Je souhaiterait créer une requete sur ACCESS combinant plusieurs jointures gauches (LEFT JOIN) avec une seule table.

    En MySQL, j'y arrive en mettant les LEFT JOIN a la suite comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT <Table1>.Id t1, <Table2>.Id t2, <Table3>.Id t3, ...
    FROM <Table1>
    LEFT JOIN <Table2> ON <Table1>.ligneTable2 = <Table2>.Id
    LEFT JOIN <Table3> ON <Table1>.ligneTable3 = <Table3>.Id
    ...
    Sur Access, ça plante en mettant "Syntax error in query expression".

    Quelqu'un pourrait-il me dire comment procéder sur Access ?

  2. #2
    Candidat au Club
    Inscrit en
    Août 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Problème résolu
    J'ai résolu le probléme ne faisant ainsi :
    ------
    ...
    FROM <Table(N)>
    RIGHT JOIN (<Table(N-1)>
    RIGHT JOIN (<Table(N-2)>
    ...
    RIGHT JOIN (<Table1>
    LEFT JOIN <Table2> ON <Table1>.ligneTable2 = <Table2>.Id)
    ... )
    On <Table(N-2)>.ligneTable(N-1) = <Table(N-1)>.Id)
    ON <Table(N-1)>.ligneTable(N) = <Table(N)>.Id
    ------

  3. #3
    Membre actif Avatar de Chen norris
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 216
    Points : 248
    Points
    248
    Par défaut
    Sinon, colle des parenthèses pour bien séparer les différentes jointures.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT <Table1>.Id t1, <Table2>.Id t2, <Table3>.Id t3, ...
    FROM ((<Table1>
    LEFT JOIN <Table2> ON <Table1>.ligneTable2 = <Table2>.Id)
    LEFT JOIN <Table3> ON <Table1>.ligneTable3 = <Table3>.Id)
    ...
    edit : oups : j'avais pas vu que c'était justement ce que tu avais trouvé comme solution...
    Chen norris
    C/C++, C#, Java, PHP & SQL coder
    Web developer

  4. #4
    Candidat au Club
    Inscrit en
    Août 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Re
    Oui, c'est ce que j'ai fait... dans l'autre sens ! (avec des RIGHT JOIN)
    Maintenant c'est vrai qu'avec des LEFT JOIN c'est plus propre...

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

Discussions similaires

  1. Left join avec une condition dans l'autre table
    Par rj450 dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 22/02/2013, 16h50
  2. Plusieurs INNER JOIN dans une requete
    Par droudrou2000 dans le forum Requêtes et SQL.
    Réponses: 16
    Dernier message: 26/02/2009, 09h58
  3. comment rajouter un caractère " ' " dans une requê
    Par GDVL dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 30/07/2004, 16h58
  4. Réponses: 3
    Dernier message: 30/07/2004, 10h51
  5. count() dans *plusieurs* LEFT JOIN
    Par silver_dragoon dans le forum Langage SQL
    Réponses: 2
    Dernier message: 28/06/2004, 17h20

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