[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