Я довольно новичок в Oracle. Я пытаюсь сделать количество портов для поставщика / модели. Тем не менее, я хочу только те с port_addr_status 3 или 4. По какой-то причине я получаю ошибку
ORA-00979 не группа по выражению
Это то, что я имею до сих пор. Это работает без части декодирования, но я не думаю, что часть с pi.port_addr.status в ('3', '4') работает без нее. Я открыт для работы и над этой проблемой.
select
count(pi.port) as cnt, d.VENDOR, trim(d.model) as model,
decode(pi.PORT_ADDR_STATUS, '1', 'Unassigned', '2','Pending','3','In Service',
'4','Pending Disco', '5','Trouble', '6','Reserved',
'7','Reserved Capacity', pi.PORT_ADDR_STATUS)
from
table1 pi,
table2 d,
table3 c
where
pi.id = d.id and
pi.circuit_id = c.circuit_id
and pi.port_addr_status in ('3','4')
and (d.dslam_type_desc not in ('AGGREGATOR') or d.dslam_type_desc is null)
and d.DSLAM not like '%@%'
group by
d.VENDOR, d.model --, trim(d.model), pi.RACK, pi.SHELF, pi.SLOT, pi.PORT, pi.BROADBAND_CIRCUIT_ID, d.DSLAM,
order by
d.VENDOR asc, cnt desc
Это пример вывода:
1031 Adtran TA5000
10 Adtran TA1248V
3 Adtran TA1248