Bonjour,
J'ai un petit soucis d'écriture d'une requête ACCESS.
Je vous explique :
J'ai 4 tables (Clients, Factures, Articles1, Articles2).
Client et Factures ont Client en commun
Articles1 peut avoir des enregistrements qu'on peut lier avec Factures.NoFacture
Articles2 peut avoir des enregistrements qu'on peut lier avec Factures.NoFacture
En SQL "classique", j'aurais fais la requête suivante :
En effet, je veux qu'il me ramène le résultat même s'il n'y a pas d'enregistrement dans Articles1 ou Articles2.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT * FROM Clients as c, Factures as f, Articles1 as a, Articles2 as b WHERE a.Client = b.Client(+) AND f.NoFacture = a.NoFacture (+) AND f.NoFacture = b.NoFacture (+)
J'ai essayé avec des LEFT JOIN à la place mais j'ai le message d'erreur "Expression JOIN non supportée".
Comment faire pour avoir le résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT ... FROM ((Clients LEFT OUTER JOIN Factures ON Clients.Client = Factures.Client) LEFT OUTER JOIN [Articles1] ON Factures.NoFacture = [Articles1].NoFacture) LEFT OUTER JOIN [Articles2] ON Factures.NoFacture = [Articles2].NoFacture GROUP BY Clients.Client, Clients.CodeCli, Clients.NomAbrégé, Factures.NoFacture ORDER BY Clients.Client, Factures.NoFacture;
Client, NoFacture, Articles1.une_info (ou null s'il n'y en a pas), Articles1.une_info (ou null s'il n'y en a pas)
Aidez moi svp !!
Partager