select'm1',
sum(case when m1='m1' then ll else 0) v_m1,
'm2' ... v_m2 m3v_m3
(
select
(case when A then m1 else xx) m1 ,
(case when B then m2 else xx) m2,
(case when C then m3 else xx) m3,
sum(value1) ll
from test
where cond A or B or C
group by
(case when A then m1) ,
(case when B then m2) ,
(case when C then m3)
)
最后用insert all转化为行。
|