Ir para conteúdo

POWERED BY:

Arquivado

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

Rafabrat

como otimizar subselect

Recommended Posts

Tenho uma tabela aluno cada aluno tem varias matriculas e cada matricula tem varias matriculasprovas

eu preciso fazer que o select traga a tabela matricula prova apenas com a utima prova de cada aluno que

se encaixem nas restrições fiz isso com um subselect funciona o problema é que tem muitos alunos e o select demorara muito ou nem sei se vai realizar deixei um tempo e não trouxe resultado

 

select *

from

adem.MatriculaProva mp1

where

mp1.dt_inicio in

(select max(mp.dt_inicio)

from

Aluno a join

Matricula m join

Classe c join

ClasseAnoEscolar cae join

adem.MatriculaProva mp

on

a.cd_aluno = m.cd_aluno and

m.cd_classe = c.cd_classe and

c.cd_classe = cae.cd_classe and

m.cd_matricula = mp.cd_matricula

where

year(mp.dt_inicio) = 2012 and mp.cd_prova not in(43,44,45) and cd_disciplina = 2 and a.cd_aluno in(

5791...

)group by a.cd_aluno having count(a.cd_aluno) = 2 order by a.cd_aluno ) ;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Query básica (data máxima por matricula)

 

select *
from adem.MatriculaProva mp1
where mp1.dt_inicio = (select max(mp.dt_inicio)
                      from
                      MatriculaProva mp
                      where mp.cd_matricula  = mp1.cd_matricula )

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.