Mostrar dados estratificados

SQL

21/03/2017

Senhores, tenho o seguinte cenário:

Em uma ferramenta de servicedesk, preciso coletar maiores ofensores dos clientes. Portanto, um relatório útil seria "Número de chamados abertos por cliente estratificados pela categoria".

Para isso, tenho no banco: 'código do chamado', 'nmcliente' e 'nmcategoriachamado'. Numa select simples agrupada por nome do cliente, tenho:

"
select
count (DISTINCT C.cdchamado) as 'Número de chamados', C.nmcliente as 'Cliente'
from vw_hd_chamado13 C
where
C.cdempresa = 4 and cdorigem in (16,17)
group by C.nmcliente
order by 1 desc"

Número de chamados Cliente
------------------ ----------------------------------------------------------------------------------------------------
266 Suporte Getrak
243 central24hrs - Central24hrs
165 Erro e-mail
90 autoprotector - Auto Protector
80 reforce - REFORCE
79 vivonline - VIVONLINE RASTREAMENTO E MONITORAMENTO DE SEGURANCA LTDA ME
73 delator - delasat
59 ativasat - Central24hs
55 RastrearVeiculos
54 TK rastreadores

Agora gostaria de adicionar a coluna 'Categorias' e que ele estratificasse o número de chamados por categoria que foram abertos por cada cliente. Ex:

Número de chamados Cliente Categoria
------------------ ----------------------------------------------------------------------------------------------------
266 Suporte Getrak
12 Solicitação/Análise
254 Incidente/Máquina
Total 266

Sei que vai ser uma query muito difícil e não faço ideia de como começar. Consigo fazer algo parecido em uma única query?
Daniel Madureira

Daniel Madureira

Curtidas 0

Respostas

Rafael Oliveira

Rafael Oliveira

21/03/2017

Boa noite Daniel,

na sua situação eu usaria o UNION para juntar esses resultados em uma unica query.

Espero ter ajudado e boa sorte em sua jornada.
GOSTEI 0
Fabiano Carvalho

Fabiano Carvalho

21/03/2017

Possui relacionamento as tabelas mencionadas?
Se sim, voce consegue fazer com inner join!

Exemplo

select
count (DISTINCT C.cdchamado) as 'Número de chamados',
C.nmcliente as 'Cliente',
Cat.Categoria
from vw_hd_chamado13 C 
inner join vw_hd_categoria cat
on c.Cod_Categoria = Cat.Cod_Categoria
where
C.cdempresa = 4 and cdorigem in (16,17)
group by C.nmcliente,Cat.Categoria
order by 1 desc"
Número de chamados Cliente
GOSTEI 0
POSTAR