Ciao a tutti.

Non riesco a capire dove sbaglio con questa query:

codice:
SELECT        
       ID
     , t.CODE
     , DATES
     , COUNT(*)-1 NM
     , C2H4_PPM
     , PERIOD_DIFF(EXTRACT(YEAR_MONTH FROM m.max_date)
     , EXTRACT(YEAR_MONTH FROM t.DATES)) MONTHS
FROM ( 
       SELECT CODE
    , MAX(DATES) max_date
FROM Tbl_copy
GROUP BY CODE, DATES) m
      INNER JOIN Tbl_copy t ON t.CODE = m.CODE
      WHERE 1 AND t.CODE > 0
      GROUP BY t.CODE, DATES;
Output:
codice:
ID	CODE		DATES		NM	C2H4_PPM	MONTHS
821	900194		2003-05-11	2	6		0
6145	900194		2009-10-01	2	2		77
7608	900194		2011-04-08	2	4		95
Il problema è il `PERIOD_DIFF` calcolato tra ID #7608 e ID #6145... 18 mesi è la differenza e non 95 mesi... perchè in questo caso fa la differenza tra ID #7608 e ID #821 e non tra ID #7608 e ID #6145 ?

Sapete aiutarmi?
Grazie in anticipo