Bonjour à toutes et tous,
Je cherche à faire une comparaison avec la date de la veille dans ma clause where mais je n'y parvient pas.
J'ai testé plusieurs solution comme :

WHERE CAST (A.DSECS||A.DSECA||'-'||A.DSECM||'-'||A.DSECJ AS DATE)=DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY).
ou
WHERE CAST (A.DSECS||A.DSECA||'-'||A.DSECM||'-'||A.DSECJ AS DATE)=DATE_SUB(DATE(NOW()), INTERVAL 1 DAY).
Ce qui me retourne une erreur [sql0104] Element syntaxique 1 n'est pas correct. Elément possible : ),.
ou
WHERE CAST (A.DSECS||A.DSECA||'-'||A.DSECM||'-'||A.DSECJ AS DATE)=DATEADD(DD,-1,GETDATE()).
Ce qui me retourne une erreur [sql0204] GETDATE de type *N dans *LIBL non trouvé.
J'ai cru comprendre qu'il s'agit d'un problème de typage.

Je vous mets ma requête pour les bonnes âmes qui voudront bien se pencher sur mon dilemme.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
SELECT DISTINCT(A.NOBON) AS NOBON,
A.NOCLI AS NOCLI, 
A.NOMSB AS NOMCLI, 
A.DSECJ||'/'||A.DSECM||'/'||A.DSECS||A.DSECA AS DATECREA,
A.DLJSB||'/'||A.DLMSB||'/'||A.DLSSB||A.DLASB AS DATELIV,
A.LIVSB AS VENDEUR,
A.TOUSB AS TOURNEE,
A.REPSB AS ATC,
B.NOLIG AS NOLIG,
B.CODAR AS CODAR,
B.DS1DB||' '||B.DS2DB||' '||B.DS3DB AS DESIGNATION,
B.QTTAR AS QUANTITE,
B.LUNTA AS UNITE,
B.PRINE AS PRIX_NET,
B.MONHT AS MONTAT_HT,
B.CONSA AS COMMENTAIRE
 
FROM AENTBOP1 A INNER JOIN ADETBOP1 B ON A.NOCLI=B.NOCLI AND A.NOBON=B.NOBON
 
WHERE  A.LIVSB='WEB'
AND CAST (A.DSECS||A.DSECA||'-'||A.DSECM||'-'||A.DSECJ AS DATE)=DATEADD(DD,-1,GETDATE())
Merci d'avance.