[firebase-br] agrupar varios itens de um count com group by
william figueiredo
william.vr2000 em gmail.com
Seg Set 8 11:06:21 -03 2014
Bom dia a todos. Peço desculpas pelo email extenso mas e importante
para deixar claro meu problema
crie a seguinte query
select lotensup.cod_espec,espec.desespec,
extract(month from lotensup.dt_cons) as MES,
count(extract(month from lotensup.dt_cons)) as Quantidade
from lotensup
inner join espec on lotensup.cod_espec = espec.codespec
inner join profiss on lotensup.cod_seq_prof = profiss.cod_seq_prof
inner join consnsup on lotensup.nr_lote = consnsup.nr_lote
where
extract(year from lotensup.dt_cons) = '2014'
group by lotensup.cod_espec,espec.desespec,extract(month from lotensup.dt_cons)
essa me retorna o seguinte resultado
COD_ESPEC DESESPEC MES QUANTIDADE
223505 Enfermeiro 2 8
223505 Enfermeiro 3 8
223505 Enfermeiro 5 10
223530 Enfermeiro do trabalho 2 35
223530 Enfermeiro do trabalho 3 37
223530 Enfermeiro do trabalho 4 19
223530 Enfermeiro do trabalho 5 44
223530 Enfermeiro do trabalho 6 11
223530 Enfermeiro do trabalho 7 30
223530 Enfermeiro do trabalho 8 36
223530 Enfermeiro do trabalho 9 10
223545 Enfermeiro obstétrico 1 5
223545 Enfermeiro obstétrico 2 13
223545 Enfermeiro obstétrico 3 6
223545 Enfermeiro obstétrico 4 15
223545 Enfermeiro obstétrico 5 16
223545 Enfermeiro obstétrico 6 8
223545 Enfermeiro obstétrico 7 36
223545 Enfermeiro obstétrico 8 22
223545 Enfermeiro obstétrico 9 8
223605 Fisioterapeuta geral 1 25
223605 Fisioterapeuta geral 2 59
223605 Fisioterapeuta geral 3 30
223605 Fisioterapeuta geral 4 53
223605 Fisioterapeuta geral 5 43
223605 Fisioterapeuta geral 6 37
223605 Fisioterapeuta geral 7 66
223605 Fisioterapeuta geral 8 50
223605 Fisioterapeuta geral 9 13
223660 Fisioterapeuta do trabalho 3 1
223710 Nutricionista 1 11
223710 Nutricionista 2 25
223710 Nutricionista 3 21
223710 Nutricionista 4 27
223710 Nutricionista 5 40
223710 Nutricionista 6 41
223710 Nutricionista 7 49
223710 Nutricionista 8 35
223710 Nutricionista 9 14
223810 Fonoaudiólogo 1 13
223810 Fonoaudiólogo 2 24
223810 Fonoaudiólogo 3 14
223810 Fonoaudiólogo 4 36
223810 Fonoaudiólogo 5 17
223810 Fonoaudiólogo 6 3
223810 Fonoaudiólogo 7 1
223810 Fonoaudiólogo 8 26
223810 Fonoaudiólogo 9 10
225112 Médico neurologista 1 8
225112 Médico neurologista 2 32
225112 Médico neurologista 3 12
225112 Médico neurologista 4 28
225112 Médico neurologista 5 54
225112 Médico neurologista 6 30
225112 Médico neurologista 7 9
225112 Médico neurologista 8 47
225112 Médico neurologista 9 7
225125 Médico clínico 1 20
225125 Médico clínico 2 31
225125 Médico clínico 3 13
225125 Médico clínico 4 18
225125 Médico clínico 5 18
225125 Médico clínico 6 25
225125 Médico clínico 7 9
225125 Médico clínico 8 24
225125 Médico clínico 9 6
225127 Médico pneumologista 1 8
225127 Médico pneumologista 2 65
225127 Médico pneumologista 3 47
225127 Médico pneumologista 4 53
225127 Médico pneumologista 5 54
225127 Médico pneumologista 6 46
225127 Médico pneumologista 7 60
225127 Médico pneumologista 8 62
225127 Médico pneumologista 9 18
225140 Médico do trabalho 1 13
225140 Médico do trabalho 2 31
225140 Médico do trabalho 3 24
225140 Médico do trabalho 4 28
225140 Médico do trabalho 5 38
225140 Médico do trabalho 6 12
225140 Médico do trabalho 7 35
225140 Médico do trabalho 8 32
225140 Médico do trabalho 9 12
225170 Médico generalista 2 2
225170 Médico generalista 3 5
225170 Médico generalista 4 6
225170 Médico generalista 5 1
225170 Médico generalista 7 2
225170 Médico generalista 8 3
225250 Médico ginecologista e obstetra 1 32
225250 Médico ginecologista e obstetra 2 26
225250 Médico ginecologista e obstetra 3 11
225250 Médico ginecologista e obstetra 4 31
225250 Médico ginecologista e obstetra 5 36
225250 Médico ginecologista e obstetra 6 34
225250 Médico ginecologista e obstetra 7 31
225250 Médico ginecologista e obstetra 8 48
225250 Médico ginecologista e obstetra 9 5
251605 Assistente social 1 8
251605 Assistente social 2 16
251605 Assistente social 3 7
esse resultado é correto, porem preciso somar alguns desses grupos em
um só grupo, mantendo a estrutura de resultados mês a mês, por exemplo
tenho que criar o grupo saúde do trabalho onde serão somados os grupos
225170- Médico generalista,225125- Médico clínico e 225140 Médico do
trabalho, mantendo as linha de produção mensais, o que iria gerar um
único grupo com a produção dos três, e eliminando sua visualização
individual, e não interferindo nos outros que não serão somados. isso
precisa ser feio dentro do banco em uma view ou procedure(uso uma
procedure no momento). alguém tem ideia de como faço pra conseguir
esse resultado?? desde ja agradeço a ajuda
William Figueiredo
Mais detalhes sobre a lista de discussão lista