select acc_nbr,sum(c1),sum(c2),sum(c3),sum(c4),sum(c5),sum(c6),sum(c7),d from
(select acc_nbr,charge/100 c1,0 c2,0 c3,0 c4,0 c5,0 c6,0 c7,0 d from jffx.serv_cluster_200601mon
where acc_nbr in (select acc_nbr from wm_newtel)
union all
select acc_nbr,0 c1,charge/100 c2,0 c3,0 c4,0 c5,0 c6,0 c7,0 d from jffx.serv_cluster_200602mon
where acc_nbr in (select acc_nbr from wm_newtel)
union all
select acc_nbr,0 c1,0 c2,charge/100 c3,0 c4,0 c5,0 c6,0 c7,0 d from jffx.serv_cluster_200603mon
where acc_nbr in (select acc_nbr from wm_newtel)
union all
select acc_nbr,0 c1,0 c2,0 c3,charge/100 c4,0 c5,0 c6,0 c7,0 d from jffx.serv_cluster_200604mon
where acc_nbr in (select acc_nbr from wm_newtel)
union all
select acc_nbr,0 c1,0 c2,0 c3,0 c4,charge/100 c5,0 c6,0 c7,0 d from jffx.serv_cluster_200605mon
where acc_nbr in (select acc_nbr from wm_newtel)
union all
select acc_nbr,0 c1,0 c2,0 c3,0 c4,0 c5,charge/100 c6,0 c7,0 d from jffx.serv_cluster_200606mon
where acc_nbr in (select acc_nbr from wm_newtel)
union all
select acc_nbr,0 c1,0 c2,0 c3,0 c4,0 c5,0 c6,charge/100 c7,0 d from jffx.serv_cluster_200607mon
where acc_nbr in (select acc_nbr from wm_newtel)
union all
select acc_nbr,0 c1,0 c2,0 c3,0 c4,0 c5,0 c6,0 c7,service_name d from jffx.serv_cluster_200607mon
where acc_nbr in (select acc_nbr from wm_newtel)
) f
group by acc_nbr,d
;--运行报错: ORA-01790:表达式必须具有与对应表达式相同的数据类型.
(select acc_nbr,charge/100 c1,0 c2,0 c3,0 c4,0 c5,0 c6,0 c7,0 d from jffx.serv_cluster_200601mon
where acc_nbr in (select acc_nbr from wm_newtel)
union all
select acc_nbr,0 c1,charge/100 c2,0 c3,0 c4,0 c5,0 c6,0 c7,0 d from jffx.serv_cluster_200602mon
where acc_nbr in (select acc_nbr from wm_newtel)
union all
select acc_nbr,0 c1,0 c2,charge/100 c3,0 c4,0 c5,0 c6,0 c7,0 d from jffx.serv_cluster_200603mon
where acc_nbr in (select acc_nbr from wm_newtel)
union all
select acc_nbr,0 c1,0 c2,0 c3,charge/100 c4,0 c5,0 c6,0 c7,0 d from jffx.serv_cluster_200604mon
where acc_nbr in (select acc_nbr from wm_newtel)
union all
select acc_nbr,0 c1,0 c2,0 c3,0 c4,charge/100 c5,0 c6,0 c7,0 d from jffx.serv_cluster_200605mon
where acc_nbr in (select acc_nbr from wm_newtel)
union all
select acc_nbr,0 c1,0 c2,0 c3,0 c4,0 c5,charge/100 c6,0 c7,0 d from jffx.serv_cluster_200606mon
where acc_nbr in (select acc_nbr from wm_newtel)
union all
select acc_nbr,0 c1,0 c2,0 c3,0 c4,0 c5,0 c6,charge/100 c7,0 d from jffx.serv_cluster_200607mon
where acc_nbr in (select acc_nbr from wm_newtel)
union all
select acc_nbr,0 c1,0 c2,0 c3,0 c4,0 c5,0 c6,0 c7,service_name d from jffx.serv_cluster_200607mon
where acc_nbr in (select acc_nbr from wm_newtel)
) f
group by acc_nbr,d
;--运行报错: ORA-01790:表达式必须具有与对应表达式相同的数据类型.
------------
select 1*1.0/100 as col1,1/100 as col2col1 col2
.010000 0
先分段来测试
指union all 分开来一个一个试不要一次太多个。这样就能找到了