Bonjour
voici ma table et mes données :
Voici ma requete :
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
23
24
25 CREATE TABLE `litiges`.`test` ( `id` BIGINT NOT NULL AUTO_INCREMENT , `litige` BIGINT NOT NULL , `probleme` INT NOT NULL DEFAULT '1', `cdt` INT NOT NULL DEFAULT '1', `qte` FLOAT NOT NULL DEFAULT '0', `tarif` FLOAT NOT NULL DEFAULT '0', PRIMARY KEY ( `id` ) ) ENGINE = InnoDB INSERT INTO `litiges`.`test` ( `id` , `litige` , `probleme` , `cdt` , `qte` , `tarif` ) VALUES ( NULL , '1756', '8', '12', '2', '0.56' ), ( NULL , '1756', '8', '24', '2', '1.15' ) , ( NULL , '1756', '1', '12', '5', '0.56' );
Je devrais donc avoir :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SELECT litige, CASE probleme WHEN '1' THEN SUM(round( qte * tarif , 4 )) ELSE SUM(round( qte * tarif * cdt , 4 )) END as valeur FROM test GROUP BY litige
12 * 2 * 0.56(probleme différent de 1) + 24 * 2 * 1.15(probleme différent de 1) + 5 * 0.56(probleme = 1) = 71.44€
mais avec la requête j'obtiens 102.24€
Pourquoi ???
Merci pour votre aide
Partager