Jump to content
FJN

Alunos com bolsa da prefeitura por periodo letivo

Recommended Posts

Olá, estou tentando buscar a mensalidade de cada pessoa que tenha bolsa, porém não estou conseguindo.

Já tenho a consulta que traz todos os alunos com bolsa da prefeitura por período letivo, e gostaria de incrementar a mensalidade dele na consulta.

 

SELECT RA,NOME, MIN(CODPERLET) AS CODPERLET, CURSO, BOLSA FROM 
(SELECT
    (SELECT CODPERLET FROM SPLETIVO (NOLOCK) WHERE IDPERLET = SBOLSAALUNO.IDPERLET) CODPERLET,
    (SELECT NOME FROM SCURSO (NOLOCK) WHERE CODCURSO = 
        (SELECT CODCURSO FROM SHABILITACAOFILIAL (NOLOCK) WHERE SHABILITACAOFILIAL.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL)) CURSO,
    (SELECT NOME FROM SBOLSA (NOLOCK) WHERE CODBOLSA = SBOLSAALUNO.CODBOLSA) BOLSA,
    SBOLSAALUNO.RA,
    (SELECT NOME FROM PPESSOA (NOLOCK) WHERE CODIGO = 
        (SELECT CODPESSOA FROM SALUNO (NOLOCK) WHERE RA = SBOLSAALUNO.RA)) NOME
FROM SBOLSAALUNO
    INNER JOIN SMATRICPL (NOLOCK) ON SMATRICPL.RA = SBOLSAALUNO.RA AND SMATRICPL.IDPERLET = SBOLSAALUNO.IDPERLET
    INNER JOIN SHABILITACAOALUNO HABALU (NOLOCK) ON HABALU.RA = SBOLSAALUNO.RA AND HABALU.RA = SMATRICPL.RA  AND HABALU.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL
WHERE 
    SBOLSAALUNO.ATIVA = 'S' AND 
    CODBOLSA IN ('22','91') AND
    SBOLSAALUNO.IDPERLET IN ('39','69','82','92','99','104','113','125') AND 
    SMATRICPL.CODSTATUS = '5') X
GROUP BY RA,NOME, CURSO, BOLSA
ORDER BY CODPERLET, CURSO, NOME

 

Se alguém puder ajudar, agradeço!

Share this post


Link to post
Share on other sites

FJN,

 

Se você busca as mensalidades dos alunos e suas bolsas, começaria com a tabela SCONTRATO fazendo JOIN com a SPARCELA só com essas duas tabelas você teria o valor da mensalidade dos alunos.

Depois se pode usar a fazer INNER JOIN (pra aqueles alunos que tem bolsa ) ou LEFT JOIN SBOLSAALUNO (Independente se o aluno tem o ou não BOLSA). Abaixo um Exemplo. Apenas não entendi o por que do MIN(CODPERLET) espero te ajudado.

 

FROM
        SMATRICPL (NOLOCK) INNER JOIN SCONTRATO (NOLOCK) ON
        SMATRICPL.CODCOLIGADA = SCONTRATO.CODCOLIGADA AND
        SMATRICPL.IDPERLET = SCONTRATO.IDPERLET AND
        SMATRICPL.IDHABILITACAOFILIAL = SCONTRATO.IDHABILITACAOFILIAL AND
        SMATRICPL.RA = SCONTRATO.RA
        
        INNER JOIN SPARCELA (NOLOCK) ON
        SCONTRATO.CODCOLIGADA = SPARCELA.CODCOLIGADA AND
        SCONTRATO.RA = SPARCELA.RA AND
        SCONTRATO.CODCONTRATO = SPARCELA.CODCONTRATO AND
        SCONTRATO.IDPERLET = SPARCELA.IDPERLET
        
        INNER JOIN SSERVICO (NOLOCK) ON
        SPARCELA.CODCOLIGADA = SSERVICO.CODCOLIGADA AND
        SPARCELA.CODSERVICO = SSERVICO.CODSERVICO
        
        INNER JOIN SALUNO (NOLOCK) ON
        SMATRICPL.CODCOLIGADA = SALUNO.CODCOLIGADA AND
        SMATRICPL.RA = SALUNO.RA
        
        INNER JOIN PPESSOA (NOLOCK) ON
        SALUNO.CODPESSOA = PPESSOA.CODIGO
        
        INNER JOIN SPLETIVO (NOLOCK) ON
        SMATRICPL.CODCOLIGADA = SPLETIVO.CODCOLIGADA AND
        SMATRICPL.IDPERLET = SPLETIVO.IDPERLET

        INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
        SMATRICPL.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA AND
        SMATRICPL.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL

         (NOLOCK) INNER JOIN SBOLSAALUNO (NOLOCK) ON
          SCONTRATO.CODCOLIGADA = SBOLSAALUNO.CODCOLIGADA AND
          SCONTRATO.CODCONTRATO = SBOLSAALUNO.CODCONTRATO

Share this post


Link to post
Share on other sites
Em 18/12/2016 at 17:49, Frederico disse:

FJN,

 

Se você busca as mensalidades dos alunos e suas bolsas, começaria com a tabela SCONTRATO fazendo JOIN com a SPARCELA só com essas duas tabelas você teria o valor da mensalidade dos alunos.

Depois se pode usar a fazer INNER JOIN (pra aqueles alunos que tem bolsa ) ou LEFT JOIN SBOLSAALUNO (Independente se o aluno tem o ou não BOLSA). Abaixo um Exemplo. Apenas não entendi o por que do MIN(CODPERLET) espero te ajudado.

 

FROM
        SMATRICPL (NOLOCK) INNER JOIN SCONTRATO (NOLOCK) ON
        SMATRICPL.CODCOLIGADA = SCONTRATO.CODCOLIGADA AND
        SMATRICPL.IDPERLET = SCONTRATO.IDPERLET AND
        SMATRICPL.IDHABILITACAOFILIAL = SCONTRATO.IDHABILITACAOFILIAL AND
        SMATRICPL.RA = SCONTRATO.RA
        
        INNER JOIN SPARCELA (NOLOCK) ON
        SCONTRATO.CODCOLIGADA = SPARCELA.CODCOLIGADA AND
        SCONTRATO.RA = SPARCELA.RA AND
        SCONTRATO.CODCONTRATO = SPARCELA.CODCONTRATO AND
        SCONTRATO.IDPERLET = SPARCELA.IDPERLET
        
        INNER JOIN SSERVICO (NOLOCK) ON
        SPARCELA.CODCOLIGADA = SSERVICO.CODCOLIGADA AND
        SPARCELA.CODSERVICO = SSERVICO.CODSERVICO
        
        INNER JOIN SALUNO (NOLOCK) ON
        SMATRICPL.CODCOLIGADA = SALUNO.CODCOLIGADA AND
        SMATRICPL.RA = SALUNO.RA
        
        INNER JOIN PPESSOA (NOLOCK) ON
        SALUNO.CODPESSOA = PPESSOA.CODIGO
        
        INNER JOIN SPLETIVO (NOLOCK) ON
        SMATRICPL.CODCOLIGADA = SPLETIVO.CODCOLIGADA AND
        SMATRICPL.IDPERLET = SPLETIVO.IDPERLET

        INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON
        SMATRICPL.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA AND
        SMATRICPL.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL

         (NOLOCK) INNER JOIN SBOLSAALUNO (NOLOCK) ON
          SCONTRATO.CODCOLIGADA = SBOLSAALUNO.CODCOLIGADA AND
          SCONTRATO.CODCONTRATO = SBOLSAALUNO.CODCONTRATO

Olá Frederico, 

o MIN(CODPERLET) é para pegar o menor período letivo da bolsa de cada aluno. O valor das mensalidade é feito pelo número de créditos e valor de cada disciplina. 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.