Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Luckshor

Quantidade de Consulta Por Mês

Recommended Posts

Olá Pessoal tudo bem?

 

Estou desenvolvendo um projetinho de um clinica medica e nela estou tentando criar um grafico para demonstrar quantas consultas

foram realizadas no mês de acordo com as especialidades selecionadas pelo usuarios.

 

Criei uma tabela agenda com os seguintes campos

 

Id_agenda;

Id_medico;

id_especialidade;

id_cliente;

data (xxxx - xx - xx)

hora (xx : xx)

 

Ai estou tendo uma dificuldade para montar a SELECT, a que eu fiz primeiramente é a seguinte

 

SELECT

COUNT(id_agenda) as Qtd,

id_especialidade,

YEAR(data) as Ano,

MONTH(data) as Mes,
FROM

agenda
WHERE
id_especialidade IN ('Cardiologista','Clinico Geral') AND ---- (Aqui pode variar uma especialidade ou varias)
data >= '2014-01-01' AND
data <= '2014-12-31'
GROUP BY
Ano, Mes, id_especialidade
Order BY
Ano, Mes, id_especialidade


Ela me retorna o seguinte

Qtd -- especialidade -- mês -- Ano
1 Cardiologista 04 2014
3 Clinico Geral 05 2014
2 Clinico Geral 06 2014
1 Cardiologista 08 2014
1 Clinico Geral 08 2014

 

 

Minha duvida maior.

na select tem as duas especialidades Cardiologista e Clinico

Como eu quero gerar um grafico para mostrar os valores queria que aparece assim

 

Ano Mes Cardiologista Clinico

2014 04 1 0

2014 05 0 3

2014 06 0 2

2014 08 1 1

 

 

 

Alguem consegue me mostrar algum caminho para chegar no resultado?

valeuu obrigado pela força

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vendo o post da valeria,

 

deu uma luz, mais ela usa tabelas com inner

 

 

eu só não compreendi como encaixar o CASE na minha select para ajudar


Aaaaaa....

 

Agora simm compreendi, como é feitooo...

 

Motta....

 

Muitissimo obrigado clariou 3 semanas quebrando a cabeça!

 

 

 

 

 

select id_especialidade,
Year(data) as ano,
sum(case when month(data) = 1 then 1 else 0 end) jan,
sum(case when month(data) = 2 then 1 else 0 end) fevereiro,
sum(case when month(data) = 3 then 1 else 0 end) março,
sum(case when month(data) = 4 then 1 else 0 end) abril,
sum(case when month(data) = 5 then 1 else 0 end) maio,
sum(case when month(data) = 6 then 1 else 0 end) junho,
sum(case when month(data) = 7 then 1 else 0 end) julho,
sum(case when month(data) = 8 then 1 else 0 end) agosto,
sum(case when month(data) = 9 then 1 else 0 end) setembro,
sum(case when month(data) = 10 then 1 else 0 end) outubro,
sum(case when month(data) = 11 then 1 else 0 end) novembro,
sum(case when month(data) = 12 then 1 else 0 end) dezembro



FROM
agendas
WHERE
id_especialidade IN (3,2)AND
data >= '2001-01-01' AND
data <= '2020-12-01'
group by ano, id_especialidade

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.