O
Olivier57
Hi,
I'm not very good in SQL and encounter a problem. I hope someone can help.
In my following query, I try to use an ON Statement withe a condition, that's
to say :
ON CABLE.IDENTIFIANT=RCABLE_NDS.ID_CABLE AND RCABLE_NDS.CATEGORIE=1
Access says that it doesn't support this join but if I had brackets like
this it's ok
ON ((CABLE.IDENTIFIANT=RCABLE_NDS.ID_CABLE) AND (CABLE_NDS.CATEGORIE=1))
but when I save the query, Access take of the more enclousing brackets
(CABLE.IDENTIFIANT=RCABLE_NDS.ID_CABLE) AND (RCABLE_NDS.CATEGORIE=1)
And i I try to execute this, I get the same message. So I have to add again
brackets
((CABLE.IDENTIFIANT=RCABLE_NDS.ID_CABLE) AND (RCABLE_NDS.CATEGORIE=1))
And it's ok.
So, I'm wondering. Why does Access takes those brackets off ? Am I wrong in
my On ... AND... statement ? Why does it accept it then with the brackets ?
I also try to write with WHERE statement,as Access does with creation mode
(withe plenty of brackets !!) but it doesn't work.
ON (CABLE.IDENTIFIANT=RCABLE_NDS.ID_CABLE) WHERE (RCABLE_NDS.CATEGORIE=1)
Thanks so much for your answer.
INSERT INTO NTK_ROP_RESULT
SELECT NTK_ROP_BASE.STATUT AS ROUTE_STATUT, NTK_ROP_BASE.ROUTE AS
ROUTE_NUMERO, NTK_ROP_BASE.ORDRE AS ROUTE_ORDRE, NTK_ROP_BASE.ID_FIBRE AS
FIBRE_ID, CABLE.IDENTIFIANT AS CABLE_ID, CABLE.NOM AS CABLE_NOM,
RCABLE_NDS.ID_NDS AS DEPART_CABLE, PT_TECH.NOM AS PT_NOM
FROM NTK_ROP_BASE INNER JOIN (FIBRE INNER JOIN (CABLE INNER JOIN (RCABLE_NDS
INNER JOIN PT_TECH ON RCABLE_NDS.ID_NDS=PT_TECH.IDENTIFIANT) ON
CABLE.IDENTIFIANT=RCABLE_NDS.ID_CABLE AND RCABLE_NDS.CATEGORIE=1) ON
FIBRE.ID_CABLE=CABLE.IDENTIFIANT) ON NTK_ROP_BASE.ID_FIBRE=FIBRE.IDENTIFIANT
ORDER BY NTK_ROP_BASE.ROUTE, NTK_ROP_BASE.ORDRE;
I'm not very good in SQL and encounter a problem. I hope someone can help.
In my following query, I try to use an ON Statement withe a condition, that's
to say :
ON CABLE.IDENTIFIANT=RCABLE_NDS.ID_CABLE AND RCABLE_NDS.CATEGORIE=1
Access says that it doesn't support this join but if I had brackets like
this it's ok
ON ((CABLE.IDENTIFIANT=RCABLE_NDS.ID_CABLE) AND (CABLE_NDS.CATEGORIE=1))
but when I save the query, Access take of the more enclousing brackets
(CABLE.IDENTIFIANT=RCABLE_NDS.ID_CABLE) AND (RCABLE_NDS.CATEGORIE=1)
And i I try to execute this, I get the same message. So I have to add again
brackets
((CABLE.IDENTIFIANT=RCABLE_NDS.ID_CABLE) AND (RCABLE_NDS.CATEGORIE=1))
And it's ok.
So, I'm wondering. Why does Access takes those brackets off ? Am I wrong in
my On ... AND... statement ? Why does it accept it then with the brackets ?
I also try to write with WHERE statement,as Access does with creation mode
(withe plenty of brackets !!) but it doesn't work.
ON (CABLE.IDENTIFIANT=RCABLE_NDS.ID_CABLE) WHERE (RCABLE_NDS.CATEGORIE=1)
Thanks so much for your answer.
INSERT INTO NTK_ROP_RESULT
SELECT NTK_ROP_BASE.STATUT AS ROUTE_STATUT, NTK_ROP_BASE.ROUTE AS
ROUTE_NUMERO, NTK_ROP_BASE.ORDRE AS ROUTE_ORDRE, NTK_ROP_BASE.ID_FIBRE AS
FIBRE_ID, CABLE.IDENTIFIANT AS CABLE_ID, CABLE.NOM AS CABLE_NOM,
RCABLE_NDS.ID_NDS AS DEPART_CABLE, PT_TECH.NOM AS PT_NOM
FROM NTK_ROP_BASE INNER JOIN (FIBRE INNER JOIN (CABLE INNER JOIN (RCABLE_NDS
INNER JOIN PT_TECH ON RCABLE_NDS.ID_NDS=PT_TECH.IDENTIFIANT) ON
CABLE.IDENTIFIANT=RCABLE_NDS.ID_CABLE AND RCABLE_NDS.CATEGORIE=1) ON
FIBRE.ID_CABLE=CABLE.IDENTIFIANT) ON NTK_ROP_BASE.ID_FIBRE=FIBRE.IDENTIFIANT
ORDER BY NTK_ROP_BASE.ROUTE, NTK_ROP_BASE.ORDRE;