我有一个在 DB2 中运行良好的 SQL 查询我的结果是
SERVICE IN OUT INPROGRESS
ADSL 1 5 10
VOIP 15 12 11
IPTV 20 14 17
现在我想把它改成这样:
CLASS ADSL VOIP IPTV
IN 1 5 10
OUT 15 12 11
INPROGRESS 20 14 17
尽管我的 SQL 看起来很简单,但我从未改变过它。如果有人知道,我将不胜感激。
我的 SQL 是
select distinct 'ADSL' as SERVICE,
(select count(*) as In from ticket
where
(class='C1' and
(servicesinfault='25'))),
(select count(*) as Out from ticket
where
(class='C2' and
(servicesinfault='25'))),
(select count(*) as In_progress from ticket
where
(class='C3' and
(servicesinfault='25')))
from ticket where servicesinfault = '25'
union all
select distinct 'VoIP',
(select count(*) from ticket
where
(class='C1' and
(servicesinfault='26'))),
(select count(*) from ticket
where
(class='C2' and
(servicesinfault='26'))),
(select count(*) from ticket
where
(class='C3' and
(servicesinfault='26')))
from ticket where servicesinfault = '26'
union all
select distinct 'IPTV',
(select count(*) from ticket
where
(class='C1' and
(ticket.servicesinfault='27'))),
(select count(*) from ticket
where
(class='C2' and
(servicesinfault='27'))),
(select count(*) from ticket
where
(class='C3' and
(servicesinfault='27')))
from ticket where servicesinfault = '27'