SELECT pot.metering_person,
pot.metering_date,
MAX(decode(pot.metering_type, 1, pot.col )) AS watch_metering,
MAX(decode(pot.metering_type, 2, pot.col)) AS evulate_metering,
MAX(decode(pot.metering_type, 3, pot.col)) AS door_metering,
MAX(decode(pot.metering_type, 4, pot.col)) AS remote_metering,
MAX(decode(pot.metering_type, 5, pot.col)) AS report_metering
FROM(
SELECT dat.metering_person AS metering_person,
dat.metering_date AS metering_date, dat.metering_type AS metering_type, SUM(dat.col) AS col
FROM (SELECT
metering_person,
metering_type,
metering_date,
1 as col
FROM measuring_meter_data ) dat
GROUP BY dat.metering_person,dat.metering_date, dat.metering_type) pot
GROUP BY pot.metering_person,
pot.metering_date
SELECT metering_type,metering_person
FROM measuring_meter_data