Bonjour,

Ma requête initiale fonctionne (produit cartésien Periods$K1 x Material$A suivi d'une jointure interne avec Periods$A) mais lorsque j'ajoute une dernière jointure externe, pour aller chercher des informations optionnelles, cette fois avec la table Evo$A, j'obtiens cette erreur:

Syntax error (missing operator) in query expression
Je voudrais déjà savoir s'il n'y a pas d'erreur formelle dans redaction de ma requête.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
SELECT mm.[Region], mm.[Material type], mm.[Producer], 
mm.[Commercial name], p.[Start Month], p.[Type], 
p.[Period], e.[Evolution] 
FROM  ( 
    SELECT [Region], [Material type], [Producer], 
    [Commercial name], [Type], [Month] 
    FROM  [Periods$K1:M25], [Material$A1:F29] 
    ) AS mm 
INNER JOIN [Periods$A1:D13] AS p 
ON mm.[Month] = p.[Start Month] AND mm.[Type] = p.[Type] 
LEFT JOIN [Evo$A1:E181] AS e 
ON p.[Period] = e.[Period]
WHERE p.[Start Month] IS NOT NULL 
ORDER BY mm.[Region], mm.[Material type], mm.[Producer], mm.[Commercial name]
Comme je travaille à l'intérieur d'Excel toute la syntaxe SQL n'est pas toujours utilisable: exemple le produit cartésien à dû être isolé dans une sous-requête).

(Dans Excel les crochets [] servent à ignorer les espaces et à désigner les tables par des plages de cellules).

Merci pour votre aide,

Francis