Use oracle Analytic functions to report data from different aggregate levels.
SELECT level1, level2, MAX(fld) OVER (PARTITION BY level1) AS MAX_FLD FROM table1