Bonjour à tous,
J'utilise Mysql Quiery Brother
J'ai cherché multiple syntaxes mais en vain ma requête ne renvoie pas le nombre suffisant de lignes.
L'idée est de dire :
Si la dte de document, de confirmation, de livraison est nulle ou égale à 00-00-0000 alors cette date sera égale à 1900-01-01
Enfin si :
TY_doc = DMA alors on prend la date de document entre 1900-01-01 et 2099-12-31
Ty_doc= CDA alors on prend la date de confirmation entre 1900-01-01 et 2099-12-31
Ty_doc = FA alors on prend la date de livraison entre 1900-01-01 et 2099-12-31
Ty_doc=BE alors on prend la date de document entre 1900-01-01 et 2099-12-31
Voyer vous une erreur ?
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
22 SELECT A.id_produit, case when A.dt_document is null then A.dt_document = "1900-01-01" when A.dt_document = "0000-00-00" then A.dt_document="1900-01-01" else A.dt_document end as dt_document, case when A.dt_confirmation is null then A.dt_confirmation = "1900-01-01" when A.dt_confirmation = "0000-00-00" then A.dt_confirmation = "1900-01-01" else A.dt_confirmation end as dt_confirmation, case when A.dt_livraison is null then A.dt_livraison = "1900-01-01" when A.dt_livraison = "0000-00-00" then A.dt_livraison="1900-01-01" else A.dt_livraison end as dt_livraison FROM tbl_achat A WHERE case when A.ty_document = "DMA" then Dt_document between "1900-01-01" and "2099-12-31" when A.ty_document = "BE" then Dt_document between "1900-01-01" and "2099-12-31" when A.ty_document = "FA" then dt_confirmation between "1900-01-01" and "2099-12-31" when A.ty_document = "CDA" then dt_livraison between "1900-01-01" and "2099-12-31" end
NB : Les betweens sont ici pour entrer les valeurs ds des paramètres. (Jasperreport)
Partager