Fred Brouard m'a expliqué comment formaté mon code SQL dans un précédent
post, et je m'efforce maintenant de suivre ses lumineux conseils (merci Fred
!)
Mais là j'ai une belle requête, que j'ai essayé de formater ainsi, et ça
donne à peu près ça (je n'ai pas encore enlevé les parenthèses) :
SELECT TestsDetail.CodeEssai,
TestsDetail.RefCatTest,
TestsDetail.CodeTest,
TestsDetail.ResultatFr,
TabPFDuree.RefDurée,
TestsDetail.ResultatAm ,
TabPFDuree.DureeFr,
TabPFDuree.DureeAm,
TabPFTests.TestFr,
TabPFTests.TestAm,
Essais.RefProd
FROM Essais
INNER JOIN ((TestsDetail
INNER JOIN TabPFDuree
ON TestsDetail.RefDuree =
TabPFDuree.RefDurée)
INNER JOIN
TabPFTests
ON
TestsDetail.CodeTest = TabPFTests.CodeTest)
ON Essais.CodeEssai = TestsDetail.CodeEssai
WHERE Essais.RefProd = 'Ref' AND TestsDetail.RefCatTest = 'RefTest'
ORDER BY TestsDetail.CodeTest ASC, TabPFDuree.RefDurée ASC ;
La clause ON parachutée à la fin comme cela, ce n'est pas un peu bizarre ?
En fait il y a plusieurs jointures imbriquées, elles ne sont pas toutes à la
suite...
Est-ce correct ? Sinon, d'autres solutions ?
Merci d'avance,
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
JPH
Salut, Essaie le copier/coller dans Access pour voir si elle est valide. @+ "Via" a écrit dans le message de news:
Bonjour à tous.
Fred Brouard m'a expliqué comment formaté mon code SQL dans un précédent post, et je m'efforce maintenant de suivre ses lumineux conseils (merci
Fred
!) Mais là j'ai une belle requête, que j'ai essayé de formater ainsi, et ça donne à peu près ça (je n'ai pas encore enlevé les parenthèses) :
SELECT TestsDetail.CodeEssai, TestsDetail.RefCatTest, TestsDetail.CodeTest, TestsDetail.ResultatFr, TabPFDuree.RefDurée, TestsDetail.ResultatAm , TabPFDuree.DureeFr, TabPFDuree.DureeAm, TabPFTests.TestFr, TabPFTests.TestAm, Essais.RefProd FROM Essais INNER JOIN ((TestsDetail INNER JOIN TabPFDuree ON TestsDetail.RefDuree > TabPFDuree.RefDurée) INNER JOIN TabPFTests ON TestsDetail.CodeTest = TabPFTests.CodeTest) ON Essais.CodeEssai TestsDetail.CodeEssai WHERE Essais.RefProd = 'Ref' AND TestsDetail.RefCatTest = 'RefTest' ORDER BY TestsDetail.CodeTest ASC, TabPFDuree.RefDurée ASC ;
La clause ON parachutée à la fin comme cela, ce n'est pas un peu bizarre
?
En fait il y a plusieurs jointures imbriquées, elles ne sont pas toutes à
la
suite... Est-ce correct ? Sinon, d'autres solutions ? Merci d'avance,
Via :)
Salut,
Essaie le copier/coller dans Access pour voir si elle est valide.
@+
"Via" <chew.baka@caramail.com> a écrit dans le message de
news:O0sBT2JREHA.4020@TK2MSFTNGP11.phx.gbl...
Bonjour à tous.
Fred Brouard m'a expliqué comment formaté mon code SQL dans un précédent
post, et je m'efforce maintenant de suivre ses lumineux conseils (merci
Fred
!)
Mais là j'ai une belle requête, que j'ai essayé de formater ainsi, et ça
donne à peu près ça (je n'ai pas encore enlevé les parenthèses) :
SELECT TestsDetail.CodeEssai,
TestsDetail.RefCatTest,
TestsDetail.CodeTest,
TestsDetail.ResultatFr,
TabPFDuree.RefDurée,
TestsDetail.ResultatAm ,
TabPFDuree.DureeFr,
TabPFDuree.DureeAm,
TabPFTests.TestFr,
TabPFTests.TestAm,
Essais.RefProd
FROM Essais
INNER JOIN ((TestsDetail
INNER JOIN TabPFDuree
ON TestsDetail.RefDuree > TabPFDuree.RefDurée)
INNER JOIN
TabPFTests
ON
TestsDetail.CodeTest = TabPFTests.CodeTest)
ON Essais.CodeEssai TestsDetail.CodeEssai
WHERE Essais.RefProd = 'Ref' AND TestsDetail.RefCatTest = 'RefTest'
ORDER BY TestsDetail.CodeTest ASC, TabPFDuree.RefDurée ASC ;
La clause ON parachutée à la fin comme cela, ce n'est pas un peu bizarre
?
En fait il y a plusieurs jointures imbriquées, elles ne sont pas toutes à
la
suite...
Est-ce correct ? Sinon, d'autres solutions ?
Merci d'avance,
FROM Essais E INNER JOIN TestsDetail TD ON Essais.CodeEssai = TD.CodeEssai INNER JOIN TabPFDuree PFD ON TD.RefDuree = PFD.RefDurée INNER JOIN TabPFTests PFT ON TD.CodeTest = PFT.CodeTest
WHERE E.RefProd = 'Ref' AND TD.RefCatTest = 'RefTest'
ORDER BY TD.CodeTest ASC, PFD.RefDurée ASC
A +
-- Frédéric BROUARD, MVP MS SQL Server. Expert Langage SQL / Delphi / web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
Via a écrit:
Bonjour à tous.
Fred Brouard m'a expliqué comment formaté mon code SQL dans un précédent post, et je m'efforce maintenant de suivre ses lumineux conseils (merci Fred !) Mais là j'ai une belle requête, que j'ai essayé de formater ainsi, et ça donne à peu près ça (je n'ai pas encore enlevé les parenthèses) :
SELECT TestsDetail.CodeEssai, TestsDetail.RefCatTest, TestsDetail.CodeTest, TestsDetail.ResultatFr, TabPFDuree.RefDurée, TestsDetail.ResultatAm , TabPFDuree.DureeFr, TabPFDuree.DureeAm, TabPFTests.TestFr, TabPFTests.TestAm, Essais.RefProd FROM Essais INNER JOIN ((TestsDetail INNER JOIN TabPFDuree ON TestsDetail.RefDuree > TabPFDuree.RefDurée) INNER JOIN TabPFTests ON TestsDetail.CodeTest = TabPFTests.CodeTest) ON Essais.CodeEssai = TestsDetail.CodeEssai WHERE Essais.RefProd = 'Ref' AND TestsDetail.RefCatTest = 'RefTest' ORDER BY TestsDetail.CodeTest ASC, TabPFDuree.RefDurée ASC ;
La clause ON parachutée à la fin comme cela, ce n'est pas un peu bizarre ? En fait il y a plusieurs jointures imbriquées, elles ne sont pas toutes à la suite... Est-ce correct ? Sinon, d'autres solutions ? Merci d'avance,
Via :)
1) les parenthèses sont inutiles et dangereuses...
2) utilise des alias ou surnom...
3) il est très dangereus d'utiliser des caractères diacritiques dans les noms des objets.
Exemple : "RefDurée"...
FROM Essais E
INNER JOIN TestsDetail TD
ON Essais.CodeEssai = TD.CodeEssai
INNER JOIN TabPFDuree PFD
ON TD.RefDuree = PFD.RefDurée
INNER JOIN TabPFTests PFT
ON TD.CodeTest = PFT.CodeTest
WHERE E.RefProd = 'Ref'
AND TD.RefCatTest = 'RefTest'
ORDER BY TD.CodeTest ASC, PFD.RefDurée ASC
A +
--
Frédéric BROUARD, MVP MS SQL Server. Expert Langage SQL / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
Via a écrit:
Bonjour à tous.
Fred Brouard m'a expliqué comment formaté mon code SQL dans un précédent
post, et je m'efforce maintenant de suivre ses lumineux conseils (merci Fred
!)
Mais là j'ai une belle requête, que j'ai essayé de formater ainsi, et ça
donne à peu près ça (je n'ai pas encore enlevé les parenthèses) :
SELECT TestsDetail.CodeEssai,
TestsDetail.RefCatTest,
TestsDetail.CodeTest,
TestsDetail.ResultatFr,
TabPFDuree.RefDurée,
TestsDetail.ResultatAm ,
TabPFDuree.DureeFr,
TabPFDuree.DureeAm,
TabPFTests.TestFr,
TabPFTests.TestAm,
Essais.RefProd
FROM Essais
INNER JOIN ((TestsDetail
INNER JOIN TabPFDuree
ON TestsDetail.RefDuree > TabPFDuree.RefDurée)
INNER JOIN
TabPFTests
ON
TestsDetail.CodeTest = TabPFTests.CodeTest)
ON Essais.CodeEssai = TestsDetail.CodeEssai
WHERE Essais.RefProd = 'Ref' AND TestsDetail.RefCatTest = 'RefTest'
ORDER BY TestsDetail.CodeTest ASC, TabPFDuree.RefDurée ASC ;
La clause ON parachutée à la fin comme cela, ce n'est pas un peu bizarre ?
En fait il y a plusieurs jointures imbriquées, elles ne sont pas toutes à la
suite...
Est-ce correct ? Sinon, d'autres solutions ?
Merci d'avance,
FROM Essais E INNER JOIN TestsDetail TD ON Essais.CodeEssai = TD.CodeEssai INNER JOIN TabPFDuree PFD ON TD.RefDuree = PFD.RefDurée INNER JOIN TabPFTests PFT ON TD.CodeTest = PFT.CodeTest
WHERE E.RefProd = 'Ref' AND TD.RefCatTest = 'RefTest'
ORDER BY TD.CodeTest ASC, PFD.RefDurée ASC
A +
-- Frédéric BROUARD, MVP MS SQL Server. Expert Langage SQL / Delphi / web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
Via a écrit:
Bonjour à tous.
Fred Brouard m'a expliqué comment formaté mon code SQL dans un précédent post, et je m'efforce maintenant de suivre ses lumineux conseils (merci Fred !) Mais là j'ai une belle requête, que j'ai essayé de formater ainsi, et ça donne à peu près ça (je n'ai pas encore enlevé les parenthèses) :
SELECT TestsDetail.CodeEssai, TestsDetail.RefCatTest, TestsDetail.CodeTest, TestsDetail.ResultatFr, TabPFDuree.RefDurée, TestsDetail.ResultatAm , TabPFDuree.DureeFr, TabPFDuree.DureeAm, TabPFTests.TestFr, TabPFTests.TestAm, Essais.RefProd FROM Essais INNER JOIN ((TestsDetail INNER JOIN TabPFDuree ON TestsDetail.RefDuree > TabPFDuree.RefDurée) INNER JOIN TabPFTests ON TestsDetail.CodeTest = TabPFTests.CodeTest) ON Essais.CodeEssai = TestsDetail.CodeEssai WHERE Essais.RefProd = 'Ref' AND TestsDetail.RefCatTest = 'RefTest' ORDER BY TestsDetail.CodeTest ASC, TabPFDuree.RefDurée ASC ;
La clause ON parachutée à la fin comme cela, ce n'est pas un peu bizarre ? En fait il y a plusieurs jointures imbriquées, elles ne sont pas toutes à la suite... Est-ce correct ? Sinon, d'autres solutions ? Merci d'avance,
Via :)
Via
Désolé, mais cela ne fonctionne pas !
Via :)
"Fred BROUARD" a écrit dans le message de news:
1) les parenthèses sont inutiles et dangereuses...
2) utilise des alias ou surnom...
3) il est très dangereus d'utiliser des caractères diacritiques dans les
FROM Essais E INNER JOIN TestsDetail TD ON Essais.CodeEssai = TD.CodeEssai INNER JOIN TabPFDuree PFD ON TD.RefDuree = PFD.RefDurée INNER JOIN TabPFTests PFT ON TD.CodeTest = PFT.CodeTest
WHERE E.RefProd = 'Ref' AND TD.RefCatTest = 'RefTest'
ORDER BY TD.CodeTest ASC, PFD.RefDurée ASC
A +
-- Frédéric BROUARD, MVP MS SQL Server. Expert Langage SQL / Delphi / web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
Via a écrit: > Bonjour à tous. > > Fred Brouard m'a expliqué comment formaté mon code SQL dans un
précédent
> post, et je m'efforce maintenant de suivre ses lumineux conseils (merci
Fred
> !) > Mais là j'ai une belle requête, que j'ai essayé de formater ainsi, et
ça
> donne à peu près ça (je n'ai pas encore enlevé les parenthèses) : > > SELECT TestsDetail.CodeEssai, > TestsDetail.RefCatTest, > TestsDetail.CodeTest, > TestsDetail.ResultatFr, > TabPFDuree.RefDurée, > TestsDetail.ResultatAm , > TabPFDuree.DureeFr, > TabPFDuree.DureeAm, > TabPFTests.TestFr, > TabPFTests.TestAm, > Essais.RefProd > FROM Essais > INNER JOIN ((TestsDetail > INNER JOIN TabPFDuree > ON TestsDetail.RefDuree
> > TabPFDuree.RefDurée)
> INNER
JOIN
> TabPFTests > ON > TestsDetail.CodeTest = TabPFTests.CodeTest) > ON Essais.CodeEssai TestsDetail.CodeEssai > WHERE Essais.RefProd = 'Ref' AND TestsDetail.RefCatTest = 'RefTest' > ORDER BY TestsDetail.CodeTest ASC, TabPFDuree.RefDurée ASC ; > > La clause ON parachutée à la fin comme cela, ce n'est pas un peu
bizarre ?
> En fait il y a plusieurs jointures imbriquées, elles ne sont pas toutes
à la
> suite... > Est-ce correct ? Sinon, d'autres solutions ? > Merci d'avance, > > Via :) > >
Désolé, mais cela ne fonctionne pas !
Via :)
"Fred BROUARD" <brouardf@club-internet.fr> a écrit dans le message de news:
40BC7F41.7020702@club-internet.fr...
1) les parenthèses sont inutiles et dangereuses...
2) utilise des alias ou surnom...
3) il est très dangereus d'utiliser des caractères diacritiques dans les
FROM Essais E
INNER JOIN TestsDetail TD
ON Essais.CodeEssai = TD.CodeEssai
INNER JOIN TabPFDuree PFD
ON TD.RefDuree = PFD.RefDurée
INNER JOIN TabPFTests PFT
ON TD.CodeTest = PFT.CodeTest
WHERE E.RefProd = 'Ref'
AND TD.RefCatTest = 'RefTest'
ORDER BY TD.CodeTest ASC, PFD.RefDurée ASC
A +
--
Frédéric BROUARD, MVP MS SQL Server. Expert Langage SQL / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
Via a écrit:
> Bonjour à tous.
>
> Fred Brouard m'a expliqué comment formaté mon code SQL dans un
précédent
> post, et je m'efforce maintenant de suivre ses lumineux conseils (merci
Fred
> !)
> Mais là j'ai une belle requête, que j'ai essayé de formater ainsi, et
ça
> donne à peu près ça (je n'ai pas encore enlevé les parenthèses) :
>
> SELECT TestsDetail.CodeEssai,
> TestsDetail.RefCatTest,
> TestsDetail.CodeTest,
> TestsDetail.ResultatFr,
> TabPFDuree.RefDurée,
> TestsDetail.ResultatAm ,
> TabPFDuree.DureeFr,
> TabPFDuree.DureeAm,
> TabPFTests.TestFr,
> TabPFTests.TestAm,
> Essais.RefProd
> FROM Essais
> INNER JOIN ((TestsDetail
> INNER JOIN TabPFDuree
> ON TestsDetail.RefDuree
> > TabPFDuree.RefDurée)
> INNER
JOIN
> TabPFTests
> ON
> TestsDetail.CodeTest = TabPFTests.CodeTest)
> ON Essais.CodeEssai TestsDetail.CodeEssai
> WHERE Essais.RefProd = 'Ref' AND TestsDetail.RefCatTest = 'RefTest'
> ORDER BY TestsDetail.CodeTest ASC, TabPFDuree.RefDurée ASC ;
>
> La clause ON parachutée à la fin comme cela, ce n'est pas un peu
bizarre ?
> En fait il y a plusieurs jointures imbriquées, elles ne sont pas toutes
à la
> suite...
> Est-ce correct ? Sinon, d'autres solutions ?
> Merci d'avance,
>
> Via :)
>
>
FROM Essais E INNER JOIN TestsDetail TD ON Essais.CodeEssai = TD.CodeEssai INNER JOIN TabPFDuree PFD ON TD.RefDuree = PFD.RefDurée INNER JOIN TabPFTests PFT ON TD.CodeTest = PFT.CodeTest
WHERE E.RefProd = 'Ref' AND TD.RefCatTest = 'RefTest'
ORDER BY TD.CodeTest ASC, PFD.RefDurée ASC
A +
-- Frédéric BROUARD, MVP MS SQL Server. Expert Langage SQL / Delphi / web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
Via a écrit: > Bonjour à tous. > > Fred Brouard m'a expliqué comment formaté mon code SQL dans un
précédent
> post, et je m'efforce maintenant de suivre ses lumineux conseils (merci
Fred
> !) > Mais là j'ai une belle requête, que j'ai essayé de formater ainsi, et
ça
> donne à peu près ça (je n'ai pas encore enlevé les parenthèses) : > > SELECT TestsDetail.CodeEssai, > TestsDetail.RefCatTest, > TestsDetail.CodeTest, > TestsDetail.ResultatFr, > TabPFDuree.RefDurée, > TestsDetail.ResultatAm , > TabPFDuree.DureeFr, > TabPFDuree.DureeAm, > TabPFTests.TestFr, > TabPFTests.TestAm, > Essais.RefProd > FROM Essais > INNER JOIN ((TestsDetail > INNER JOIN TabPFDuree > ON TestsDetail.RefDuree
> > TabPFDuree.RefDurée)
> INNER
JOIN
> TabPFTests > ON > TestsDetail.CodeTest = TabPFTests.CodeTest) > ON Essais.CodeEssai TestsDetail.CodeEssai > WHERE Essais.RefProd = 'Ref' AND TestsDetail.RefCatTest = 'RefTest' > ORDER BY TestsDetail.CodeTest ASC, TabPFDuree.RefDurée ASC ; > > La clause ON parachutée à la fin comme cela, ce n'est pas un peu
bizarre ?
> En fait il y a plusieurs jointures imbriquées, elles ne sont pas toutes
à la
> suite... > Est-ce correct ? Sinon, d'autres solutions ? > Merci d'avance, > > Via :) > >