bonjour,
j'ai un probleme avec cette requete: elle me donne une erreur :integer overflow
en castant le taux de remise à decimal(5,2) ca fonctionne, mais les calculs ne sont pas corrects
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 select MENUDER.MDLIBELLE, cast(sum(L_ACHAT.LAPRIX * L_ACHAT.LAQTE * (1 - (L_ACHAT.LATAUXREM/100))) as decimal(15,4)) as MONTANT FROM L_ACHAT join ACHAT on ACHAT.ACIDACHAT=L_ACHAT.LAIDACHAT join MENUDER on MENUDER.MDIDMDER=ACHAT.ACIDRUBRIC group by MENUDER.MDLIBELLE order by MONTANT desc,MENUDER.MDLIBELLE
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 select MENUDER.MDLIBELLE, cast(sum(L_ACHAT.LAPRIX * L_ACHAT.LAQTE * (1 - (cast(L_ACHAT.LATAUXREM as decimal(5,2)) /100))) as decimal(15,4)) as MONTANT FROM L_ACHAT join ACHAT on ACHAT.ACIDACHAT=L_ACHAT.LAIDACHAT join MENUDER on MENUDER.MDIDMDER=ACHAT.ACIDRUBRIC group by MENUDER.MDLIBELLE order by MONTANT desc,MENUDER.MDLIBELLE
bizarre , lorsque je reprends la requete de départ et que j'enlève le calcul de la remise, tout fonctionne bien ?
Là je ne comprends plus !! et n'arrive pas à dégager de logique.
je pense que c'est sur la "(1 - (L_ACHAT.LATAUXREM/100)))" qu'il y a un problème.
Pour info, si je mets 0.00 ou 100.00 à la place de L_ACHAT.LATAUXREM , ca fonctionne.
Si quelqu'un a une idée ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 select MENUDER.MDLIBELLE, cast(sum(L_ACHAT.LAPRIX * L_ACHAT.LAQTE ) as decimal(15,4)) as MONTANT FROM L_ACHAT join ACHAT on ACHAT.ACIDACHAT=L_ACHAT.LAIDACHAT join MENUDER on MENUDER.MDIDMDER=ACHAT.ACIDRUBRIC group by MENUDER.MDLIBELLE order by MONTANT desc,MENUDER.MDLIBELLE
merci
Partager