Uhm...
a me non funziona con una semplice join
ho dovuto prima creare una vista e metterla in join !
Come detto prendiamo in esame i consumi di acqua con relativo inserimento della rilevazione dei consumi del contatore, quindi numero progressivo
Tabella di esempio;
codice:
CREATE TABLE `html_acqua` (
`id` int(11) unsigned zerofill NOT NULL AUTO_INCREMENT,
`filiale` int(11) NOT NULL,
`anno` int(4) NOT NULL,
`mese` int(2) NOT NULL,
`nro_contatore` varchar(30) NOT NULL,
`rilevazione` decimal(8,3) NOT NULL,
PRIMARY KEY (`id`),
KEY `fil` (`filiale`) USING BTREE
) ENGINE=MyISAM AUTO_INCREMENT=1028 DEFAULT CHARSET=latin1;
prima ho creato una view denominata v_acqua_2 per avere il mese maggiorato di 1, quindi semplice query;
codice:
SELECT
anno,
mese+1 AS mese_maggiorato,
nro_contatore,
rilevazione,
filiale
FROM html_acqua
e poi utilizzando questa query per il risultato finale
codice:
SELECT
a.pid_depot,
a.nro_contatore,
a.mese,
a.rilevazione as ril_a,
b.rilevazione AS ril_b,
a.rilevazione-b.rilevazione AS consumo
FROM rilevazioni_acqua AS a
JOIN v_acqua_2 AS b ON b.pid_depot=a.pid_depot AND a.mese=b.mese_maggiorato AND a.anno = b.anno
WHERE a.pid_depot = 15
AND a.anno = 2015
ORDER BY a.mese ASC
Il problema rimane proprio il mese di gennaio, nessun suggerimento ? 
Grazie in anticipo per l'aiuto !!