您需要向 中 sum(case when p.otv_kon in ('34001') THEN 1 END) f22添加条件COUNT(DISTINCT p.date_input),即 就像是
sum(case when p.otv_kon in ('34001') and p.date_input(Уникальные) THEN 1 END) f22
p.date_input格式DATE在哪里
并同样
sum(case when p.otv_kon in ('34001') THEN 1 END) f23添加条件COUNT(DISTINCT p.username)
哪里p.username格式VARCHAR
还有,类似的
sum(case when p.otv_kon in ('34001') and p.username(Уникальные) THEN 1 END) f23
要求
select
--w.mo f1,
nvl (w.mo, (select mo from t_mo t where t.mo_id=1)) f1,
''f2,
'0'f3,
' 'f4,
sum(case when t.regname=p.username or t.regname!=p.username THEN 1 END) f5,
sum(case when t.regname=p.username THEN 1 END) f6,
sum(case when t.regname!=p.username THEN 1 END) f7,
sum(case when p.cause_id IN (22,1) THEN 1 END) f8,
sum(case when cause_id in (24,23,25,3,2,4) THEN 1 END) f9,
sum(case when cause_id in (26,5) THEN 1 END) f10,
sum(case when cause_id in (27,6) THEN 1 END) f11,
sum(case when cause_id in (28,8) THEN 1 END) f12,
sum(case when cause_id in (29,9,32,36) THEN 1 END) f13,
sum(case when cause_id in (30,10) THEN 1 END) f14,
sum(case when cause_id in (31,11) THEN 1 END) f15,
sum(case when cause_id in (33,13) THEN 1 END) f16,
sum(case when cause_id in (34,35,7,15,12,14) THEN 1 END) f17,
sum(case when p.otv_kon in ('34001') THEN 1 END) f18,
sum(case when p.otv_kon in ('34002') THEN 1 END) f19,
sum(case when p.otv_kon in ('34004') THEN 1 END) f20,
sum(case when p.otv_kon in ('34') THEN 1 END) f21,
--new
sum(case when p.otv_kon in ('34001') THEN 1 END) f22,
sum(case when p.otv_kon in ('34001') THEN 1 END) f23
from t_block_ger t, t_petit p, t_mo w WHERE t.id_ger=p.id
AND p.mo_id=w.mo_id
AND p.conect_id=5
AND to_date(t.date_end) BETWEEN '01.01.2022' AND '01.05.2022'
group by w.mo
--order by f1
union all
select
''f1,
''f2,
'0'f3,
' 'f4,
count(case when t.regname=p.username or t.regname!=p.username THEN 1 END) f5,
count(case when t.regname=p.username THEN 1 END) f6,
count(case when t.regname!=p.username THEN 1 END) f7,
count(case when p.cause_id IN (22,1) THEN 1 END) f8,
count(case when cause_id in (24,23,25,3,2,4) THEN 1 END) f9,
count(case when cause_id in (26,5) THEN 1 END) f10,
count(case when cause_id in (27,6) THEN 1 END) f11,
count(case when cause_id in (28,8) THEN 1 END) f12,
count(case when cause_id in (29,9,32,36) THEN 1 END) f13,
count(case when cause_id in (30,10) THEN 1 END) f14,
count(case when cause_id in (31,11) THEN 1 END) f15,
count(case when cause_id in (33,13) THEN 1 END) f16,
count(case when cause_id in (34,35,7,15,12,14) THEN 1 END) f17,
count(case when p.otv_kon in ('34001') THEN 1 END) f18,
count(case when p.otv_kon in ('34002') THEN 1 END) f19,
count(case when p.otv_kon in ('34004') THEN 1 END) f20,
count(case when p.otv_kon in ('34') THEN 1 END) f21,
--new
sum(case when p.otv_kon in ('34001') THEN 1 END) f22,
sum(case when p.otv_kon in ('34001') THEN 1 END) f23
from t_block_ger t, t_petit p, t_mo w WHERE t.id_ger=p.id
AND p.mo_id=w.mo_id
AND p.conect_id=5 AND P.TYPE_ID in(1,3)
AND to_date(t.date_end) BETWEEN '01.01.2022' AND '01.05.2022'
order by f1
1 个回答