Je rencontre apparemment un problème de syntaxe lors de la jointure de 3
tables...
Voici ma requête :
SELECT TRIM(A1.RefArtFabrication) As Ref, TRIM(A3.LibelleArticle),
A1.CentreFabrication As Centre, TRIM(A2.NomCentreFabrication) As NomCentre,
SUM(A1.QteFabrication) As Qte FROM Fabrications As A1 INNER JOIN
CentresFabrication As A2 ON A1.CentreFabrication = A2.CentreFabrication
INNER JOIN Articles As A3 ON A1.RefArtFabrication = A3.RefArticle WHERE
A1.CentreFabrication <> 16 AND A1.DateFabrication > 39814 GROUP BY
A1.RefArtFabrication, A1.CentreFabrication, A2.NomCentreFabrication ORDER BY
A1.RefArtFabrication ASC, SUM(A1.QteFabrication) DESC;
Et voici le message d'erreur :
Erreur de syntaxe (opérateur absent) dans l'expression 'A1.CentreFabrication
= A2.CentreFabrication INNER JOIN Articles As A3 ON A1.RefArtFabrication =
A3.RefArticle'.
Je suppose que j'ai du mal écrire les paramètres de jointure, mais ne vois
pas mon erreur.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Michel__D
Bonjour,
Thierry.E a écrit :
Bonjour,
Je rencontre apparemment un problème de syntaxe lors de la jointure de 3 tables...
Voici ma requête : SELECT TRIM(A1.RefArtFabrication) As Ref, TRIM(A3.LibelleArticle), A1.CentreFabrication As Centre, TRIM(A2.NomCentreFabrication) As NomCentre, SUM(A1.QteFabrication) As Qte FROM Fabrications As A1 INNER JOIN CentresFabrication As A2 ON A1.CentreFabrication = A2.CentreFabrication INNER JOIN Articles As A3 ON A1.RefArtFabrication = A3.RefArticle WHERE A1.CentreFabrication <> 16 AND A1.DateFabrication > 39814 GROUP BY A1.RefArtFabrication, A1.CentreFabrication, A2.NomCentreFabrication ORDER BY A1.RefArtFabrication ASC, SUM(A1.QteFabrication) DESC;
Et voici le message d'erreur : Erreur de syntaxe (opérateur absent) dans l'expression 'A1.CentreFabrication = A2.CentreFabrication INNER JOIN Articles As A3 ON A1.RefArtFabrication = A3.RefArticle'.
Je suppose que j'ai du mal écrire les paramètres de jointure, mais ne vois pas mon erreur.
Help :) Thierry
Moi je commencerais par faire des mise à jour pour ne pas avoir à utiliser des TRIM ensuite ceci devrait fonctionner :
SELECT A1.RefArtFabrication As Ref, A3.LibelleArticle, A1.CentreFabrication As Centre, A2.NomCentreFabrication As NomCentre, SUM(A1.QteFabrication) As Qte FROM (Fabrications AS A1 INNER JOIN CentresFabrication As A2 ON A1.CentreFabrication = A2.CentreFabrication) INNER JOIN Articles As A3 ON A1.RefArtFabrication = A3.RefArticle WHERE A1.CentreFabrication <> 16 AND A1.DateFabrication > 39814 GROUP BY A1.RefArtFabrication, A3.LibelleArticle, A1.CentreFabrication, A2.NomCentreFabrication ORDER BY A1.RefArtFabrication ASC, SUM(A1.QteFabrication) DESC;
Bonjour,
Thierry.E a écrit :
Bonjour,
Je rencontre apparemment un problème de syntaxe lors de la jointure de 3
tables...
Voici ma requête :
SELECT TRIM(A1.RefArtFabrication) As Ref, TRIM(A3.LibelleArticle),
A1.CentreFabrication As Centre, TRIM(A2.NomCentreFabrication) As NomCentre,
SUM(A1.QteFabrication) As Qte FROM Fabrications As A1 INNER JOIN
CentresFabrication As A2 ON A1.CentreFabrication = A2.CentreFabrication
INNER JOIN Articles As A3 ON A1.RefArtFabrication = A3.RefArticle WHERE
A1.CentreFabrication <> 16 AND A1.DateFabrication > 39814 GROUP BY
A1.RefArtFabrication, A1.CentreFabrication, A2.NomCentreFabrication ORDER BY
A1.RefArtFabrication ASC, SUM(A1.QteFabrication) DESC;
Et voici le message d'erreur :
Erreur de syntaxe (opérateur absent) dans l'expression 'A1.CentreFabrication
= A2.CentreFabrication INNER JOIN Articles As A3 ON A1.RefArtFabrication =
A3.RefArticle'.
Je suppose que j'ai du mal écrire les paramètres de jointure, mais ne vois
pas mon erreur.
Help :)
Thierry
Moi je commencerais par faire des mise à jour pour ne pas avoir à utiliser des
TRIM ensuite ceci devrait fonctionner :
SELECT A1.RefArtFabrication As Ref, A3.LibelleArticle,
A1.CentreFabrication As Centre, A2.NomCentreFabrication As NomCentre,
SUM(A1.QteFabrication) As Qte
FROM (Fabrications AS A1 INNER JOIN CentresFabrication As A2
ON A1.CentreFabrication = A2.CentreFabrication)
INNER JOIN Articles As A3 ON A1.RefArtFabrication = A3.RefArticle
WHERE A1.CentreFabrication <> 16 AND A1.DateFabrication > 39814
GROUP BY A1.RefArtFabrication, A3.LibelleArticle, A1.CentreFabrication,
A2.NomCentreFabrication
ORDER BY A1.RefArtFabrication ASC, SUM(A1.QteFabrication) DESC;
Je rencontre apparemment un problème de syntaxe lors de la jointure de 3 tables...
Voici ma requête : SELECT TRIM(A1.RefArtFabrication) As Ref, TRIM(A3.LibelleArticle), A1.CentreFabrication As Centre, TRIM(A2.NomCentreFabrication) As NomCentre, SUM(A1.QteFabrication) As Qte FROM Fabrications As A1 INNER JOIN CentresFabrication As A2 ON A1.CentreFabrication = A2.CentreFabrication INNER JOIN Articles As A3 ON A1.RefArtFabrication = A3.RefArticle WHERE A1.CentreFabrication <> 16 AND A1.DateFabrication > 39814 GROUP BY A1.RefArtFabrication, A1.CentreFabrication, A2.NomCentreFabrication ORDER BY A1.RefArtFabrication ASC, SUM(A1.QteFabrication) DESC;
Et voici le message d'erreur : Erreur de syntaxe (opérateur absent) dans l'expression 'A1.CentreFabrication = A2.CentreFabrication INNER JOIN Articles As A3 ON A1.RefArtFabrication = A3.RefArticle'.
Je suppose que j'ai du mal écrire les paramètres de jointure, mais ne vois pas mon erreur.
Help :) Thierry
Moi je commencerais par faire des mise à jour pour ne pas avoir à utiliser des TRIM ensuite ceci devrait fonctionner :
SELECT A1.RefArtFabrication As Ref, A3.LibelleArticle, A1.CentreFabrication As Centre, A2.NomCentreFabrication As NomCentre, SUM(A1.QteFabrication) As Qte FROM (Fabrications AS A1 INNER JOIN CentresFabrication As A2 ON A1.CentreFabrication = A2.CentreFabrication) INNER JOIN Articles As A3 ON A1.RefArtFabrication = A3.RefArticle WHERE A1.CentreFabrication <> 16 AND A1.DateFabrication > 39814 GROUP BY A1.RefArtFabrication, A3.LibelleArticle, A1.CentreFabrication, A2.NomCentreFabrication ORDER BY A1.RefArtFabrication ASC, SUM(A1.QteFabrication) DESC;
Thierry.E
Bonjour Michel,
Merci beaucoup pour les parenthèses, effectivement cela fonctionne ! Concernant les TRIM, malheureusement je ne peux y toucher, les données traitées sont directement issues de la base de donnée de l'ERP et il vaut mieux ne pas y toucher ;)
Thierry
"Michel__D" a écrit dans le message de news: egJ%
Bonjour,
Thierry.E a écrit :
Bonjour,
Je rencontre apparemment un problème de syntaxe lors de la jointure de 3 tables...
Voici ma requête : SELECT TRIM(A1.RefArtFabrication) As Ref, TRIM(A3.LibelleArticle), A1.CentreFabrication As Centre, TRIM(A2.NomCentreFabrication) As NomCentre, SUM(A1.QteFabrication) As Qte FROM Fabrications As A1 INNER JOIN CentresFabrication As A2 ON A1.CentreFabrication = A2.CentreFabrication INNER JOIN Articles As A3 ON A1.RefArtFabrication = A3.RefArticle WHERE A1.CentreFabrication <> 16 AND A1.DateFabrication > 39814 GROUP BY A1.RefArtFabrication, A1.CentreFabrication, A2.NomCentreFabrication ORDER BY A1.RefArtFabrication ASC, SUM(A1.QteFabrication) DESC;
Et voici le message d'erreur : Erreur de syntaxe (opérateur absent) dans l'expression 'A1.CentreFabrication = A2.CentreFabrication INNER JOIN Articles As A3 ON A1.RefArtFabrication = A3.RefArticle'.
Je suppose que j'ai du mal écrire les paramètres de jointure, mais ne vois pas mon erreur.
Help :) Thierry
Moi je commencerais par faire des mise à jour pour ne pas avoir à utiliser des TRIM ensuite ceci devrait fonctionner :
SELECT A1.RefArtFabrication As Ref, A3.LibelleArticle, A1.CentreFabrication As Centre, A2.NomCentreFabrication As NomCentre, SUM(A1.QteFabrication) As Qte FROM (Fabrications AS A1 INNER JOIN CentresFabrication As A2 ON A1.CentreFabrication = A2.CentreFabrication) INNER JOIN Articles As A3 ON A1.RefArtFabrication = A3.RefArticle WHERE A1.CentreFabrication <> 16 AND A1.DateFabrication > 39814 GROUP BY A1.RefArtFabrication, A3.LibelleArticle, A1.CentreFabrication, A2.NomCentreFabrication ORDER BY A1.RefArtFabrication ASC, SUM(A1.QteFabrication) DESC;
Bonjour Michel,
Merci beaucoup pour les parenthèses, effectivement cela fonctionne !
Concernant les TRIM, malheureusement je ne peux y toucher, les données
traitées sont directement issues de la base de donnée de l'ERP et il vaut
mieux ne pas y toucher ;)
Thierry
"Michel__D" <Michel.NOSPAM@orange-ft.com.invalid> a écrit dans le message de
news: egJ%23hhwMKHA.4028@TK2MSFTNGP05.phx.gbl...
Bonjour,
Thierry.E a écrit :
Bonjour,
Je rencontre apparemment un problème de syntaxe lors de la jointure de 3
tables...
Voici ma requête :
SELECT TRIM(A1.RefArtFabrication) As Ref, TRIM(A3.LibelleArticle),
A1.CentreFabrication As Centre, TRIM(A2.NomCentreFabrication) As
NomCentre, SUM(A1.QteFabrication) As Qte FROM Fabrications As A1 INNER
JOIN CentresFabrication As A2 ON A1.CentreFabrication =
A2.CentreFabrication INNER JOIN Articles As A3 ON A1.RefArtFabrication =
A3.RefArticle WHERE A1.CentreFabrication <> 16 AND A1.DateFabrication >
39814 GROUP BY A1.RefArtFabrication, A1.CentreFabrication,
A2.NomCentreFabrication ORDER BY A1.RefArtFabrication ASC,
SUM(A1.QteFabrication) DESC;
Et voici le message d'erreur :
Erreur de syntaxe (opérateur absent) dans l'expression
'A1.CentreFabrication = A2.CentreFabrication INNER JOIN Articles As A3 ON
A1.RefArtFabrication = A3.RefArticle'.
Je suppose que j'ai du mal écrire les paramètres de jointure, mais ne
vois pas mon erreur.
Help :)
Thierry
Moi je commencerais par faire des mise à jour pour ne pas avoir à utiliser
des
TRIM ensuite ceci devrait fonctionner :
SELECT A1.RefArtFabrication As Ref, A3.LibelleArticle,
A1.CentreFabrication As Centre, A2.NomCentreFabrication As NomCentre,
SUM(A1.QteFabrication) As Qte
FROM (Fabrications AS A1 INNER JOIN CentresFabrication As A2
ON A1.CentreFabrication = A2.CentreFabrication)
INNER JOIN Articles As A3 ON A1.RefArtFabrication = A3.RefArticle
WHERE A1.CentreFabrication <> 16 AND A1.DateFabrication > 39814
GROUP BY A1.RefArtFabrication, A3.LibelleArticle, A1.CentreFabrication,
A2.NomCentreFabrication
ORDER BY A1.RefArtFabrication ASC, SUM(A1.QteFabrication) DESC;
Merci beaucoup pour les parenthèses, effectivement cela fonctionne ! Concernant les TRIM, malheureusement je ne peux y toucher, les données traitées sont directement issues de la base de donnée de l'ERP et il vaut mieux ne pas y toucher ;)
Thierry
"Michel__D" a écrit dans le message de news: egJ%
Bonjour,
Thierry.E a écrit :
Bonjour,
Je rencontre apparemment un problème de syntaxe lors de la jointure de 3 tables...
Voici ma requête : SELECT TRIM(A1.RefArtFabrication) As Ref, TRIM(A3.LibelleArticle), A1.CentreFabrication As Centre, TRIM(A2.NomCentreFabrication) As NomCentre, SUM(A1.QteFabrication) As Qte FROM Fabrications As A1 INNER JOIN CentresFabrication As A2 ON A1.CentreFabrication = A2.CentreFabrication INNER JOIN Articles As A3 ON A1.RefArtFabrication = A3.RefArticle WHERE A1.CentreFabrication <> 16 AND A1.DateFabrication > 39814 GROUP BY A1.RefArtFabrication, A1.CentreFabrication, A2.NomCentreFabrication ORDER BY A1.RefArtFabrication ASC, SUM(A1.QteFabrication) DESC;
Et voici le message d'erreur : Erreur de syntaxe (opérateur absent) dans l'expression 'A1.CentreFabrication = A2.CentreFabrication INNER JOIN Articles As A3 ON A1.RefArtFabrication = A3.RefArticle'.
Je suppose que j'ai du mal écrire les paramètres de jointure, mais ne vois pas mon erreur.
Help :) Thierry
Moi je commencerais par faire des mise à jour pour ne pas avoir à utiliser des TRIM ensuite ceci devrait fonctionner :
SELECT A1.RefArtFabrication As Ref, A3.LibelleArticle, A1.CentreFabrication As Centre, A2.NomCentreFabrication As NomCentre, SUM(A1.QteFabrication) As Qte FROM (Fabrications AS A1 INNER JOIN CentresFabrication As A2 ON A1.CentreFabrication = A2.CentreFabrication) INNER JOIN Articles As A3 ON A1.RefArtFabrication = A3.RefArticle WHERE A1.CentreFabrication <> 16 AND A1.DateFabrication > 39814 GROUP BY A1.RefArtFabrication, A3.LibelleArticle, A1.CentreFabrication, A2.NomCentreFabrication ORDER BY A1.RefArtFabrication ASC, SUM(A1.QteFabrication) DESC;