Condition + SUM(DISTINCT(champ))
Bonjour à tous,
J'ai un problème avec le morceau de la requête suivante:
Code:
SUM(CASE WHEN od.id_achat_articles<>0 THEN DISTINCT(montant_total) ELSE od.debit END) AS depense
Voici ma requête:
Code:
1 2 3 4 5 6
| SELECT od.date, COUNT(od.id) AS nombre,
SUM(CASE WHEN od.id_achat_articles<>0 THEN DISTINCT(od.montant_total) ELSE od.montant_total END) AS depense,
SUM(CASE WHEN od.id_type_paiement = 1 THEN od.debit ELSE 0 END) AS depense_liquide FROM operation_depenses od
LEFT JOIN achat_articles aa ON aa.id_achat=od.id_achat_articles
WHERE (od.date BETWEEN '2011-07-20 01:31:01' AND '2011-08-25 23:00:00')
AND (CASE WHEN aa.id_filtre IS NULL THEN od.id_filtre ELSE aa.id_filtre END)=0 |
Alors que ce morceau fonctionne:
Code:
SUM(DISTINCT(od.montant_total))
Voici ma table:
http://loirebillard.free.fr/table.jpg
L'alias depense doit être égal à 66.53 (19.71+41.32+5.50).
EDIT> En faite j'aimerais plutôt faire un DISTINCT(id_achat_articles) et calculer la somme de od.montant_total.
Merci pour votre aide ;)