select t4.cross_id, t4.name, sum(even_number_701) as even_number_701, sum(event_total_time_701) as event_total_time_701,
select sum(even_number_701) as even_number_701, sum(event_total_time_701) as event_total_time_701,
sum(even_number_702) as even_number_702, sum(event_total_time_702) as event_total_time_702,
sum(even_number_703) as even_number_703, sum(event_total_time_703) as event_total_time_703,
sum(even_number_707) as even_number_707, sum(event_total_time_707) as event_total_time_707
from
(select t3.cross_id, t3.name, case t3.event_type when 701 then t3.event_number else 0 end as even_number_701 ,
(select case t3.event_type when 701 then t3.event_number else 0 end as even_number_701 ,
case t3.event_type when 701 then t3.event_total_time else 0 end as event_total_time_701,
case t3.event_type when 702 then t3.event_number else 0 end as even_number_702 ,
case t3.event_type when 702 then t3.event_total_time else 0 end as event_total_time_702,
...
...
@@ -45,27 +45,21 @@
case t3.event_type when 707 then t3.event_number else 0 end as even_number_707 ,
case t3.event_type when 707 then t3.event_total_time else 0 end as event_total_time_707
from
(select t5.cross_id, t5.name,t5.event_type,sum(t5.event_number) as event_number, sum(t5.event_total_time) as event_total_time
from
(select t.id as cross_id, t.name,IFNULL(t1.event_type,701) as event_type,IFNULL(t1.event_number,0) as event_number , IFNULL(t1.event_total_time,0) as event_total_time
from t_base_cross_info t
left join (select cross_id,event_type,event_number,event_total_time from t_analysis_problem_cross_day where 1=1
(select event_type,sum(event_number) as event_number,sum(event_total_time) as event_total_time
from t_analysis_problem_cross_day
where 1=1
<iftest="yearWeek != null">
and year_week = #{yearWeek}
</if>
) t1 on t1.cross_id = t.id
where t.is_signal = 1
order by t.id, t.name,t1.event_type) t5
group by t5.cross_id, t5.name,t5.event_type) t3) t4