LUIZ ALEXANDRE CABRA Posted September 18 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 Report Posted September 18 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. Se houver alguma parcela em aberto o relatório será gerado em branco: 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.
LUIZ ALEXANDRE CABRA Posted September 23 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 Author Report Posted September 23 Consegui aqui turma. Obrigado.
adeirborba Posted September 24 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 Report Posted September 24 Compartilha. rs
Solution LUIZ ALEXANDRE CABRA Posted September 25 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 Author Solution Report Posted September 25 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. 1
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now