2012-11-13 5 views
2

J'essaie de construire une requête qui donnera la somme des totaux pour l'eau déplacée par 3 pompes chaque jour.mysql requête distincte en utilisant la somme

Toutes les valeurs sont le total pour chaque pompe

Le problème est le résultat final devrait être (pompe 1 + pompe 2) - pompe 3. La requête J'utilise est:

SELECT DISTINCT(date_time), SUM(rec_value) 
FROM 
rec_address_change 
WHERE (address_id = 7 OR address_id = 11 OR address_id = 15) 
GROUP BY date_time ORDER BY date_time; 

Actuellement, cela donne juste le total combiné de tous les 3 pompes pour chaque jour

Répondre

2
SELECT date_time, sum(
    CASE WHEN address_id in (7,11) then rec_value 
     ELSE -rec_value END) 
from rec_address_change 
WHERE address_id IN (7,11,15) 
GROUP BY date_time 
ORDER BY date_time; 
+0

Travaillé Brillamment, Learned peut utiliser l'instruction select dans la requête aujourd'hui, grâce à des tas – Bobkatt