Mostrar dados estratificados

21/03/2017

0

SQL

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

Responder

Posts

06/05/2017

Rafael Oliveira

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.
Responder

06/05/2017

Fabiano Carvalho

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
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar