create table mth_score (serial number, mth_id date, score number) insert into month_score values (12,to_date('01/01/2006', 'mm/dd/yyyy'), 74.5) ; insert into month_score values (12,to_date('02/01/2006', 'mm/dd/yyyy'), 71.5) ; insert into month_score values (12,to_date('02/01/2006', 'mm/dd/yyyy'), 74.5) ; insert into month_score values (12,to_date('04/01/2006','mm/dd/yyyy'), 74.5) ; insert into month_score values (12,to_date('05/01/2006','mm/dd/yyyy'), 74.5) ; insert into month_score values (12,to_date('06/01/2006','mm/dd/yyyy'), 74.5) ; insert into month_score values (12,to_date('07/01/2006','mm/dd/yyyy'), 74.5) ; insert into month_score values (12,to_date('08/01/2006', 'mm/dd/yyyy'),74.5) ; insert into month_score values (12,to_date('09/01/2006', 'mm/dd/yyyy'), 74.5) ; insert into month_score values (12,to_date('10/01/2006', 'mm/dd/yyyy'),74.5) ; insert into month_score values (12,to_date('11/01/2006', 'mm/dd/yyyy'), 74.5) ; insert into month_score values (12,to_date('12/01/2006','mm/dd/yyyy'), 74.5) ; insert into month_score values (12,to_date('01/01/2007','mm/dd/yyyy'), 74.5) ; insert into month_score values (12,to_date('02/01/2007','mm/dd/yyyy'), 74.5) ; insert into month_score values (12,to_date('03/01/2007','mm/dd/yyyy'), 74.5) ; insert into month_score values (12,to_date('04/01/2007', 'mm/dd/yyyy'), 74.5) ; insert into month_score values (12,to_date('05/01/2007','mm/dd/yyyy'), 74.5) ; insert into month_score values (12,to_date('06/01/2007','mm/dd/yyyy'), 74.5) ; insert into month_score values (12,to_date('07/01/2007', 'mm/dd/yyyy'), 74.5) ; insert into month_score values (12,to_date('08/01/2007','mm/dd/yyyy'), 74.5) ; insert into month_score values (12,to_date('09/01/2007','mm/dd/yyyy'), 74.5) ; insert into month_score values (12,to_date('10/01/2007','mm/dd/yyyy'), 74.5) ; insert into month_score values (12,to_date('11/01/2007','mm/dd/yyyy'), 74.5) ; insert into month_score values (12,to_date('12/01/2007','mm/dd/yyyy'), 74.5) ; insert into month_score values (12,to_date('01/01/2008','mm/dd/yyyy'), 74.5) ; insert into month_score values (12,to_date('02/01/2008','mm/dd/yyyy'), 74.5) ; insert into month_score values (12,to_date('03/01/2008','mm/dd/yyyy'), 74.5) ; insert into month_score values (12,to_date('04/01/2008','mm/dd/yyyy'), 74.5) ; insert into month_score values (12,to_date('05/01/2008','mm/dd/yyyy'), 74.5) ; insert into month_score values (12,to_date('06/01/2008', 'mm/dd/yyyy'), 74.5) ; insert into month_score values (12,to_date('07/01/2008','mm/dd/yyyy'), 74.5) ; insert into month_score values (12,to_date('08/01/2008','mm/dd/yyyy'), 74.5) ; insert into month_score values (12,to_date('09/01/2008','mm/dd/yyyy'), 74.5) ; insert into month_score values (12,to_date('10/01/2008','mm/dd/yyyy'), 74.5) ; insert into month_score values (12,to_date('11/01/2008','mm/dd/yyyy'), 74.5) ; insert into month_score values (12,to_date('12/01/2008','mm/dd/yyyy'), 74.5) ; insert into month_score values (12,to_date('01/01/2009','mm/dd/yyyy'), 80.9) ; insert into month_score values (13,to_date('01/01/2006','mm/dd/yyyy'), 74.5) ; insert into month_score values (13,to_date('02/01/2006','mm/dd/yyyy'), 71.5) ; insert into month_score values (13,to_date('02/01/2006','mm/dd/yyyy'), 74.5) ; insert into month_score values (13,to_date('04/01/2006','mm/dd/yyyy'), 74.5) ; insert into month_score values (13,to_date('05/01/2006','mm/dd/yyyy'), 74.5) ; insert into month_score values (13,to_date('06/01/2006','mm/dd/yyyy'), 74.5) ; insert into month_score values (13,to_date('07/01/2006','mm/dd/yyyy'), 74.5) ; insert into month_score values (13,to_date('08/01/2006','mm/dd/yyyy'), 74.5) ; insert into month_score values (13,to_date('09/01/2006','mm/dd/yyyy'), 80.9) ; insert into month_score values (13,to_date('10/01/2006','mm/dd/yyyy'), 74.5) ; insert into month_score values (13,to_date('11/01/2006','mm/dd/yyyy'), 74.5) ; insert into month_score values (13,to_date('12/01/2006','mm/dd/yyyy'), 74.5) ; insert into month_score values (13,to_date('01/01/2007', 'mm/dd/yyyy'), 74.5) ; insert into month_score values (13,to_date('02/01/2007','mm/dd/yyyy'), 74.5) ; insert into month_score values (13,to_date('03/01/2007','mm/dd/yyyy'), 74.5) ; insert into month_score values (13,to_date('04/01/2007', 'mm/dd/yyyy'), 74.5) ; insert into month_score values (13,to_date('05/01/2007','mm/dd/yyyy'), 80.9) ; insert into month_score values (13,to_date('06/01/2007','mm/dd/yyyy'), 74.5) ; insert into month_score values (13,to_date('07/01/2007','mm/dd/yyyy'), 74.5) ; insert into month_score values (13,to_date('08/01/2007','mm/dd/yyyy'), 74.5) ; insert into month_score values (13,to_date('09/01/2007','mm/dd/yyyy'), 74.5) ; insert into month_score values (13,to_date('10/01/2007','mm/dd/yyyy'), 74.5) ; insert into month_score values (13,to_date('11/01/2007','mm/dd/yyyy'), 74.5) ; insert into month_score values (13,to_date('12/01/2007','mm/dd/yyyy'), 74.5) ; insert into month_score values (13,to_date('01/01/2008','mm/dd/yyyy'), 74.5) ; insert into month_score values (13,to_date('02/01/2008','mm/dd/yyyy'), 80.9) ; insert into month_score values (13,to_date('03/01/2008','mm/dd/yyyy'), 74.5) ; insert into month_score values (13,to_date('04/01/2008','mm/dd/yyyy'), 74.5) ; insert into month_score values (13,to_date('05/01/2008','mm/dd/yyyy'), 74.5) ; insert into month_score values (13,to_date('06/01/2008','mm/dd/yyyy'), 74.5) ; insert into month_score values (13,to_date('07/01/2008', 'mm/dd/yyyy'), 74.5) ; insert into month_score values (13,to_date('08/01/2008','mm/dd/yyyy'), 80.9) ; insert into month_score values (13,to_date('09/01/2008','mm/dd/yyyy'), 74.5) ; insert into month_score values (13,to_date('10/01/2008','mm/dd/yyyy'), 74.5) ; insert into month_score values (13,to_date('11/01/2008','mm/dd/yyyy'), 74.5) ; insert into month_score values (13,to_date('12/01/2008','mm/dd/yyyy'), 80.9) ; insert into month_score values (13,to_date('01/01/2009','mm/dd/yyyy'), 74.5) ; Desired report for avarge scores per month. These columns must be dynamic . Exmple : if todays date is 2009 march , it should ve avarage score for last 2 years along with the months of that year. Serial 2007 2008 Jan_09 12 75.3 75.3 80.9 13 76.9 75.3 74.5