Ciao newbobotime,
alla fine ho pensato che è preferibile un altro approccio (altrimenti hai problemi anche con dicembre)
Questa l'ho provata sulla scorta della tabella che hai postato :
Usando una subquery:
codice:
SELECT a.*,
(a.rilevazione - (SELECT rilevazione
FROM consumo_acqua b
WHERE STR_TO_DATE(CONCAT('01',LPAD(b.mese,2,'0'),b.anno),'%d%m%Y') =
DATE_ADD(
STR_TO_DATE(CONCAT('01',LPAD(a.mese,2,'0'),a.anno),'%d%m%Y')
,INTERVAL -1 MONTH)
)
) as Consumo_Mensile
FROM consumo_acqua a
WHERE a.anno = 2014
ORDER BY mese ASC
Senza subquery:
codice:
SELECT a.*,
(a.rilevazione - b.rilevazione) as Consumo_Mensile
FROM consumo_acqua a, consumo_acqua b
WHERE STR_TO_DATE(CONCAT('01',LPAD(b.mese,2,'0'),b.anno),'%d%m%Y') =
DATE_ADD(
STR_TO_DATE(CONCAT('01',LPAD(a.mese,2,'0'),a.anno),'%d%m%Y')
,INTERVAL -1 MONTH)
AND a.anno = 2014
ORDER BY mese ASC
Fammi sapere se hai risolto