select f1.NAME, t1.year, t1.remark, t1.month, f1.id_card, f1.GWGZ, f1.JSGZ, f1.BLBT, f1.TSJT, f1.ZFBT, f1.BFGZ, f1.YFGZ, f1.KYLBX, f1.KZYNJ, f1.KZFGJJ, f1.KYILBX, f1.KGRSDS, f1.KKHJ, f1.SFGZ, f1.JWJT, f1.SHBT, f1.DQFJJTHJ, f1.GGXBT, f1.GWJTBT, f1.HJ, KZFGJJhj, f1.seygwgz, f1.seyjsgz, (NVl(f1.gwgz,0) + f1.jsgz + f1.blbt + f1.tsjt + f1.KZFGJJhj + f1.jwjt + f1.shbt + f1.ggxbt + f1.gwjtbt + f1.bfgz + f1.seygwgz + f1.seyjsgz - f1.kylbx - f1.kzynj - f1.kyilbx - f1.kgrsds) heng from (select rec_id, t.NAME, t.id_card, sum(GWGZ) GWGZ, sum(JSGZ) JSGZ, sum(BLBT) BLBT, sum(tsjt) TSJT, sum(ZFBT) ZFBT, sum(bfgz) BFGZ, sum(YFGZ) YFGZ, sum(KYLBX) KYLBX, sum(KZYNJ) KZYNJ, sum(KZFGJJ) KZFGJJ, sum(KYILBX) KYILBX, sum(KGRSDS) KGRSDS, sum(KKHJ) KKHJ, sum(SFGZ) SFGZ, sum(JWJT) JWJT, sum(SHBT) SHBT, sum(DQFJJTHJ) DQFJJTHJ, sum(GGXBT) GGXBT, sum(GWJTBT) GWJTBT, sum(HJ) HJ, sum(KZFGJJhj) KZFGJJhj, sum(seygwgz) seygwgz, sum(seyjsgz) seyjsgz from (select rec_id, NAME, id_card, GWGZ, JSGZ, BLBT, TSJT, ZFBT, BFGZ, YFGZ, KYLBX, KZYNJ, KZFGJJ, KYILBX, KGRSDS, KKHJ, SFGZ, JWJT, SHBT, DQFJJTHJ, GGXBT, GWJTBT, HJ, year, month, (case when month != '12' then KZFGJJ * 0 else KZFGJJ * 12 * null end) KZFGJJhj, (case when month != '12' then GWGZ * 0 else GWGZ end) seygwgz, (case when month != '12' then JSGZ * 0 else JSGZ end) seyjsgz from T_WAGE_DATA where 1 = 1 and NAME like '%--%' and to_char(enter_time, 'yyyy-MM') >= '2020-12' and to_char(enter_time, 'yyyy-MM') <= '2020-12' and data_valid = '1') t group by rec_id, ID_CARD, NAME) f1 left join (select year, month, numbers, rec_id, remark from T_WAGE_DATA t where 1 = 1 and NAME like '%--%' and to_char(enter_time, 'yyyy-MM') >='2020-12' and to_char(enter_time, 'yyyy-MM') <= '2020-12' and data_valid = '1') t1 on t1.rec_id = f1.rec_id order by to_number(year) desc, to_number(month) desc, to_number(numbers) asc