PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Syntaxe sql Where in !!
Syntaxe sql Where in !!
Débuté par joel, 24 aoû. 2004 17:13 - 3 réponses
Posté le 24 août 2004 - 17:13
Bonjour
J'exécute la requete ci dessous en utilisant une liste de magasins dans le
paramètre cListeMag ex "001;005;010"
Quelque soit ce que j'envoie "hexecuterequete" me retourne la totalité du
fichier. (idem avec rc ou tab comme séparateur)

Ou est l'érreur ? Quelle est la bonne syntaxe ???
Merci de vos reponses.


SELECT SUM(PREPAVTE.PVTE*1/PREPAVTE.TVAVTE) AS rCAnet,
SUM(PREPAVTE.QTE) AS nQTEArticle,
PREPAVTE.CODEFOUR AS cCodeFour

FROM PREPAVTE
WHERE PREPAVTE.MAG IN ( {cListeMag} )
GROUP BY PREPAVTE.CODEFOUR
ORDER BY rCAnet DESC
Posté le 24 août 2004 - 22:08
"JG" <joel@aquitem.fr> wrote:


Bonjour
J'exécute la requete ci dessous en utilisant une liste de magasins dans

le
paramètre cListeMag ex "001;005;010"
Quelque soit ce que j'envoie "hexecuterequete" me retourne la totalité du
fichier. (idem avec rc ou tab comme séparateur)

Ou est l'érreur ? Quelle est la bonne syntaxe ???
Merci de vos reponses.


SELECT SUM(PREPAVTE.PVTE*1/PREPAVTE.TVAVTE) AS rCAnet,
SUM(PREPAVTE.QTE) AS nQTEArticle,
PREPAVTE.CODEFOUR AS cCodeFour

FROM PREPAVTE
WHERE PREPAVTE.MAG IN ( {cListeMag} )
GROUP BY PREPAVTE.CODEFOUR
ORDER BY rCAnet DESC


Vous ne dites pas quelle est le type de base de données mais la syntaxe SQL
standard du IN est
WHERE fichier.rubrique IN ('Val1', 'Val2', 'Val3') pour du alphanumérique
et
WHERE fichier.rubrique IN (Val1, Val2, Val3) pour du numérique.
Le séparateur est la virgule.

J'espère avoir pu vous aider un peu.

Christian Potvin
Beaulieu Canada
Posté le 25 août 2004 - 02:10
"JG" <joel@aquitem.fr> wrote:


Bonjour
J'exécute la requete ci dessous en utilisant une liste de magasins dans

le
paramètre cListeMag ex "001;005;010"
Quelque soit ce que j'envoie "hexecuterequete" me retourne la totalité du
fichier. (idem avec rc ou tab comme séparateur)

Ou est l'érreur ? Quelle est la bonne syntaxe ???
Merci de vos reponses.


SELECT SUM(PREPAVTE.PVTE*1/PREPAVTE.TVAVTE) AS rCAnet,
SUM(PREPAVTE.QTE) AS nQTEArticle,
PREPAVTE.CODEFOUR AS cCodeFour

FROM PREPAVTE
WHERE PREPAVTE.MAG IN ( {cListeMag} )
GROUP BY PREPAVTE.CODEFOUR
ORDER BY rCAnet DESC


essaie de mettre les elts entre cotes : in('001','002')
pbs
Posté le 29 août 2004 - 11:28
Bonjour,

Je n'utilise pas la clause IN, mais je te propose le code suivant:
FROM PREPAVTE
WHERE PREPAVTE.MAG IN ( cListeMag ) // sans les {} avec cListeMag ex

"'001';'005';'010'" car c'est de l'alpha

JMS

GROUP BY PREPAVTE.CODEFOUR
ORDER BY rCAnet DESC



"JG" <joel@aquitem.fr> a écrit dans le message de
news:412b3f0c$1@news.pcsoft.fr...


Bonjour
J'exécute la requete ci dessous en utilisant une liste de magasins dans le
paramètre cListeMag ex "001;005;010"
Quelque soit ce que j'envoie "hexecuterequete" me retourne la totalité du
fichier. (idem avec rc ou tab comme séparateur)

Ou est l'érreur ? Quelle est la bonne syntaxe ???
Merci de vos reponses.


SELECT SUM(PREPAVTE.PVTE*1/PREPAVTE.TVAVTE) AS rCAnet,
SUM(PREPAVTE.QTE) AS nQTEArticle,
PREPAVTE.CODEFOUR AS cCodeFour

FROM PREPAVTE
WHERE PREPAVTE.MAG IN ( {cListeMag} )
GROUP BY PREPAVTE.CODEFOUR
ORDER BY rCAnet DESC