Jump to content
Seja Membro VIP - Remova Banners de Propagandas, Tenha Liberado Qualquer Download, Além de Acessos em Áreas Exclusivas!! ×

Scrip - aluno nada consta


Go to solution Solved by LUIZ ALEXANDRE CABRA,

Recommended Posts


  • Topic Count:  2
  • Topics Per Day:  0.01
  • Content Count:  14
  • Content Per Day:  0.05
  • Reputation:   4
  • Achievement Points:  79
  • Solved Content:  0
  • Days Won:  1
  • Status:  Offline
  • Age:  49
  • Device:  Windows

Posted

Boa tarde turma.

Então meio em dúvida ou não sei kkkkk de como realizar uma tarefa aqui.

O cenário seria assim:

Estou desenvolvendo um relatório que será disponibilizado no Portal do Aluno, este relatório tem que seguir uma regra onde os parâmetros seria Matrícula e CodPerlet por exemplo.

Preciso montar um SQL onde no período TODAS as parcelas estiverem baixadas (FLAN.STATUSLAN = 1) o relatório será gerado.

image.png.5da3c36ca6e940bc0ec07f2baf02f6d0.png

Se houver alguma parcela em aberto o relatório será gerado em branco:

image.png.2c1ed1e0ece3b795356be17fc915c912.png

Segue sql abaixo para uma start.

SELECT DISTINCT SALUNO.RA,
      UPPER (PPESSOA.NOME) [ALUNO],
      (left(ppessoa.cpf,3)+'.'+ right(left (ppessoa.cpf,6),3)+'.'+ right(left (ppessoa.cpf,9),3)+'-'
            + right(left (ppessoa.cpf,12),2)) AS CPFALUNO,
      FCFO.CODCFO,
      UPPER(FCFO.NOME) NOME,
      FCFO.CGCCFO,
      CONCAT(SMATRICPL.PERIODO,'º') [PERIODO],
      SHABILITACAOFILIAL.CODCURSO,
      CONCAT (STIPOCURSO.NOME, ' de ', SCURSO.NOME) [NOMECURSO],
      SUBSTRING(SPLETIVO.CODPERLET, 1,4) [ANO],
      CONCAT (SUBSTRING(SPLETIVO.CODPERLET, 5,5),'º') [SEMESTRE],
      CONCAT ( SUBSTRING(SPLETIVO.CODPERLET, 1,4),'.',SUBSTRING(SPLETIVO.CODPERLET, 5,5))[SEMESTRE2],
      SCONTRATO.CODCONTRATO
      
FROM SALUNO (NOLOCK)
INNER JOIN PPESSOA (NOLOCK) ON SALUNO.CODPESSOA = PPESSOA.CODIGO
INNER JOIN SMATRICPL (NOLOCK) ON SMATRICPL.CODCOLIGADA = SALUNO.CODCOLIGADA AND SMATRICPL.RA = SALUNO.RA
INNER JOIN SPLETIVO (NOLOCK) ON SMATRICPL.IDPERLET = SPLETIVO.IDPERLET AND SMATRICPL.CODCOLIGADA = SPLETIVO.CODCOLIGADA            
INNER JOIN SMATRICULA (NOLOCK) ON SALUNO.CODCOLIGADA = SMATRICULA.CODCOLIGADA AND SALUNO.RA = SMATRICULA.RA AND SMATRICULA.IDPERLET = SPLETIVO.IDPERLET
INNER JOIN SSTATUS (NOLOCK) ON SMATRICULA.CODSTATUS = SSTATUS.CODSTATUS
INNER JOIN SHABILITACAOFILIAL (NOLOCK) ON SMATRICULA.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL AND SMATRICULA.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
INNER JOIN SCURSO (NOLOCK) ON SHABILITACAOFILIAL.CODCURSO = SCURSO.CODCURSO AND SHABILITACAOFILIAL.CODCOLIGADA = SCURSO.CODCOLIGADA
INNER JOIN STURMADISC (NOLOCK) ON SMATRICULA.IDTURMADISC = STURMADISC.IDTURMADISC
INNER JOIN SDISCIPLINA (NOLOCK) ON STURMADISC.CODDISC = SDISCIPLINA.CODDISC
INNER JOIN STIPOCURSO (NOLOCK) ON STIPOCURSO.CODCOLIGADA = SCURSO.CODCOLIGADA AND STIPOCURSO.CODTIPOCURSO = SCURSO.CODTIPOCURSO
INNER JOIN FCFO (NOLOCK) ON (SALUNO.CODCFO = FCFO.CODCFO)
INNER JOIN SCONTRATO (NOLOCK) ON SCONTRATO.CODCOLIGADA = SMATRICPL.CODCOLIGADA AND SCONTRATO.RA = SMATRICPL.RA AND SCONTRATO.IDHABILITACAOFILIAL = SMATRICPL.IDHABILITACAOFILIAL AND SCONTRATO.IDPERLET = SMATRICPL.IDPERLET 
--AND SCONTRATO.STATUS <> 'S'
LEFT JOIN SBOLSAALUNO (NOLOCK)  ON SBOLSAALUNO.CODCOLIGADA = SCONTRATO.CODCOLIGADA AND SBOLSAALUNO.RA = SCONTRATO.RA AND SBOLSAALUNO.CODCONTRATO = SCONTRATO.CODCONTRATO AND SBOLSAALUNO.IDPERLET = SCONTRATO.IDPERLET
LEFT JOIN SBOLSA (NOLOCK) ON SBOLSA.CODCOLIGADA = SBOLSAALUNO.CODCOLIGADA AND SBOLSA.CODBOLSA = SBOLSAALUNO.CODBOLSA

INNER JOIN SPARCELA (NOLOCK) ON SPARCELA.CODCOLIGADA = SCONTRATO.CODCOLIGADA AND SPARCELA.RA = SCONTRATO.RA AND SPARCELA.CODCONTRATO = SCONTRATO.CODCONTRATO  AND SPARCELA.IDPERLET = SCONTRATO.IDPERLET

LEFT JOIN SLAN  (NOLOCK) ON  SPARCELA.CODCOLIGADA = SLAN.CODCOLIGADA AND SPARCELA.IDPARCELA = SLAN.IDPARCELA
LEFT JOIN FLAN (NOLOCK) ON SLAN.IDLAN = FLAN.IDLAN AND SLAN.CODCOLIGADA = FLAN.CODCOLIGADA AND FLAN.STATUSLAN = 1 AND FLAN.IDFAT IS NULL

WHERE SALUNO.RA = '??????????' AND SPLETIVO.CODPERLET = '???????'
/*AND FLAN.STATUSLAN <> '1'*/

No aguardo

Att.


  • Topic Count:  2
  • Topics Per Day:  0.01
  • Content Count:  14
  • Content Per Day:  0.05
  • Reputation:   4
  • Achievement Points:  79
  • Solved Content:  0
  • Days Won:  1
  • Status:  Offline
  • Age:  49
  • Device:  Windows

Posted

Consegui aqui turma.

 

Obrigado.


  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  29
  • Content Per Day:  0.01
  • Reputation:   5
  • Achievement Points:  214
  • Solved Content:  0
  • Days Won:  3
  • Status:  Offline
  • Age:  46
  • Device:  Windows

Posted

Compartilha. rs

  • Solution

  • Topic Count:  2
  • Topics Per Day:  0.01
  • Content Count:  14
  • Content Per Day:  0.05
  • Reputation:   4
  • Achievement Points:  79
  • Solved Content:  0
  • Days Won:  1
  • Status:  Offline
  • Age:  49
  • Device:  Windows

Posted

Segue:

Acrescentei na condição o NOT EXITS 

 

WHERE SALUNO.RA = '??????????????' AND SPLETIVO.CODPERLET = '????????' 
      AND NOT EXISTS (
            SELECT 1
            FROM SPARCELA (NOLOCK)
            LEFT JOIN SLAN (NOLOCK) ON  SPARCELA.CODCOLIGADA = SLAN.CODCOLIGADA AND SPARCELA.IDPARCELA = SLAN.IDPARCELA
            LEFT JOIN FLAN (NOLOCK) ON SLAN.IDLAN = FLAN.IDLAN AND SLAN.CODCOLIGADA = FLAN.CODCOLIGADA
            WHERE SPARCELA.CODCOLIGADA = SCONTRATO.CODCOLIGADA
                  AND SPARCELA.RA = SCONTRATO.RA
                  AND SPARCELA.CODCONTRATO = SCONTRATO.CODCONTRATO
                  AND SPARCELA.IDPERLET = SCONTRATO.IDPERLET
                  AND (FLAN.STATUSLAN IN (0) OR FLAN.STATUSLAN IS NULL));

 

Agradecimentos ao @Alvaro Leiroz pela ajuda.

  • Like 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

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