Pessoal,
A tabela que segue é uma tabela de interrupções de matrícula em um sistema de controle acadêmico.
CREATE TABLE "PRPG"."INTERRUPCOES_MATRICULA"
( "IMA_ALU_MATRICULA" VARCHAR2(9) NOT NULL ENABLE,
"IMA_SOI_TRA_NUM_TRANSACAO" NUMBER(9,0) NOT NULL ENABLE,
"IMA_ANO" NUMBER(4,0) NOT NULL ENABLE,
"IMA_PERIODO" NUMBER(1,0) NOT NULL ENABLE,
"IMA_TIPO_INTERRUP" NUMBER(1,0) NOT NULL ENABLE,
"IMA_DT_AUTORIZ_COLEGIADO" DATE,
"IMA_DATA_HORA" DATE);
O campo IMA_ALU_MATRICULA é a matrícula do aluno.
O campo IMA_TIPO_INTERRUP é o tipo de interrupção, que pode ser :
1 - Total
2 - Parcial
Os campos IMA_ANO e IMA_PERIODO são respectivamente o ANO e o PERÍODO em que a interrupção está sendo efetuada.
O que estou precisando é montar uma query que me retorne a matrícula do aluno, o ano e o período em que ele efetuou interrupção total e o número de interrupções efetuadas pelo aluno.
Este total de interrupções totais teria que ser agrupado POR ALUNO.
A query básica seria :
select distinct t.ima_alu_matricula, t.ima_ano, t.ima_periodo
from interrupcoes_matricula t
where t.ima_tipo_interrup = 1
group by t.ima_alu_matricula, t.ima_ano, t.ima_periodo
order by t.ima_alu_matricula, t.ima_ano, t.ima_periodo
Tentei, na query acima, jogar um count(t.ima_matricula), logo após a coluna t.ima_periodo, mas obtive o erro "Função de grupo não permitida aqui).
Será que alguém poderia me ajudar a re-escrever esta query de modo que ela me retorne, além da matrícula, ano e período, uma outra coluna contendo o total de interrupções totais realizadas por cada aluno ?
Agradeço antecipadamente qualquer ajuda que me for enviada,
Max Carvalho