Mostrar quantidade por data

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
pchrys
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 10
Registrado em: Sex, 01 Abr 2011 6:31 pm
Localização: Florianópolis-sc

Oi galera seguinte eu estou fazendo um relatorio para mostrar os cursos e participantes do mesmo, em determinado periodo.
Ai no relatorio tem esses 2 selects

Selecionar tudo

select distinct rpad(F_DOMINIOS('CD_MODALIDADE',C.CD_MODALIDADE),50)modalidade, c.cd_curso||' - '||ds_curso ds_curso, nr_horas,
      nvl (to_char(cf.dt_inicial, 'dd/mm/yyyy'), to_char(c.dt_inicio, 'dd/mm/yyyy') )f_dt_inicio, nvl (to_char(cf.dt_final, 'dd/mm/yyyy'), to_char(c.dt_fim, 'dd/mm/yyyy') )f_dt_fim, 
       nvl(curso.participacoes,0) participacoes, 
       m.ds_municipio||'/'||m.estado_cd_estado local_curso, decode(c.fg_pat,'S','SIM','NÃO') fg_pat, 
       decode(c.cd_processo,'AN','ANDAMENTO','CO','CONCLUÍDO','EX','A EXECUTAR',
                            'CA','CANCELADO','DE','DESISTÊNCIA','AD',
                            'ADIADO','OU','OUTROS') processo, c.ds_obs
from cursos c, municipio m, curso_funcionario cf,
     (select  c.cd_curso, count(cf.nr_matricula) participacoes
          from curso_funcionario cf, funcionarios f, setores s, cursos c  
           where cf.nr_matricula = f.nr_matricula     
                and  cf.cd_duplicacao = f.cd_duplicacao  and  f.cd_setor = s.cd_setor  and c.cd_curso=cf.cd_curso
                            group by c.cd_curso) curso
 where c.cd_curso = curso.cd_curso(+)
 and c.cd_municipio = m.cd_municipio
 and c.cd_curso=cf.cd_curso and c.cd_modalidade is not null
order by ds_curso 

que me retornam o seguinte resultado:
MODALIDADE | DS_CURSO | HRS | F_DT_INICIO | F_DT_FIM | PARTICIPAÇOES
1 A DISTANCIA | 1414 - TESTE08 | 120 | 25/04/2011 | 26/04/2011 | 4
2 PRESENCIAL | 1415 - TESTE09 | 120 | 15/04/2011 | 18/04/2011 | 2
3 A DISTANCIA | 1416 - TESTE10 | 120 | 25/04/2011 | 26/04/2011 | 3
4 A DISTANCIA |1416 - TESTE10 | 120 | 20/04/2011 | 21/04/2011 | 3
5 A DISTANCIA | 1417 - TESTE11 | 132 | 26/04/2011 | 28/04/2011 | 5
6 A DISTANCIA | 1417 - TESTE11 | 132 | 26/04/2011 | 30/04/2011 | 5
7 A DISTANCIA | 1417 - TESTE11 | 132 | 27/04/2011 | 29/04/2011 | 5
8 A DISTANCIA | 1417 - TESTE11 | 132 | 26/04/2011 | 28/05/2011 | 5

(tem mais colunas mas coloquei so ate participações pois é onde eu quero chegar)
então o que esta acontecendo até a linha 2 ele retorna o numero d participaçoes correto porque é um curso com um periodo somente.... e é da tabela cursos! AI da linha 3 em diante ele agrupa tdo certinho pela data do curso mas ele ta puxando o numeo de participantes TOTAl por COdigo do curso... e eu quero que ele discrimine ali "numero de participantes que teve naquela data, naquele curso" e não no curso total.
alguém da um help ai??
vlw
pchrys
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 10
Registrado em: Sex, 01 Abr 2011 6:31 pm
Localização: Florianópolis-sc

ninguemm?? :/
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Bom, já que o seu sub-select está buscando os participantes POR CURSO, então é normal que isso ocorra.

Creio que você deve alterar o seu sub-select e fazer ele retornar a soma por CURSO e DATA.

Dai no join embaixo você coloca o join da data também.

Por exemplo: neste sub-select, colcoa também a data

Selecionar tudo

(select  c.cd_curso, DATA, count(cf.nr_matricula) participacoes 
          from curso_funcionario cf, funcionarios f, setores s, cursos c  
           where cf.nr_matricula = f.nr_matricula      
                and  cf.cd_duplicacao = f.cd_duplicacao  and  f.cd_setor = s.cd_setor  and c.cd_curso=cf.cd_curso 
                            group by c.cd_curso,DATA) curso 
e la no join faz o join por data também.

:?
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 14 visitantes