Bonjour,
Voila que j'ai dû mal à écrire une requête qui semble vraiment être basique limite un cas d'école.
Je m'explique, j'ai une table devis contenant trois champs (pour simplifier):
- un "id" de type int
- une clé étrangère "client" de type int portant sur la table client
- une clé étrangère "maitreOeuvre" de type int portant sur la table client
A savoir que "client" est un champs obligatoire et que "maitreOeuvre" peut être facultatif.
Dans la table client, on a:
- un "id" (c'est celui ci qui est utilisé par "client" et "maitreOeuvre" dans devis)
- un "nom" (VARCHAR)
Je souhaite récupérer la liste des devis avec le nom du client et le nom du maitreOeuvre.
Voila, la requête qui me semblait juste:
Mais voici ce que le SGBD (Access en l'occurrence me renvoit):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT d.id as ref, c1.nom as societe, c2.nom as maitreOeuvre FROM DEVIS d LEFT JOIN CLIENTS c2 on c2.clef = d.MaitreOeuvre LEFT JOIN CLIENTS c1 on c1.clef = d.client
Donc d'après ce message m'a syntaxe est fausse, pourquoi pas je m'incline devant le compilo mais qui est il cet "opérateur absent" .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Erreur de syntaxe (opérateur absent) dans l'expression "c2.clef = d.MaitreOeuvre LEFT JOIN CLIENTS c1 on c1.clef = d.clien"
J'attends avec impatience vos lumières.
Et merci d'avance.
Partager