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:
Je voudrais déjà savoir s'il n'y a pas d'erreur formelle dans redaction de ma requête.Syntax error (missing operator) in query expression
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).
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]
(Dans Excel les crochets [] servent à ignorer les espaces et à désigner les tables par des plages de cellules).
Merci pour votre aide,
Francis
Partager