lucas.guimaraes Posted June 13, 2023 Topic Count: 1 Topics Per Day: 0.00 Content Count: 5 Content Per Day: 0.01 Reputation: 2 Achievement Points: 39 Solved Content: 0 Days Won: 0 Status: Offline Age: 45 Report Posted June 13, 2023 Olá Pessoal, bom dia! Estou utilizando parâmetros em um relatório cuja fonte de dados é uma consulta SQL própria/customizada. O parâmetro TIPOCURSO precisa comportar mais de um dado caso o usuário queira e para isso a consulta SQL foi ajustada para essa filtragem usando a linha 'AND STIPOCURSO.CODTIPOCURSO IN (:TIPOCURSO)' no WHERE. Porém quando usuário usa esse parâmetro, só está retornando registros quando é informado apenas um valor (exemplo: 1) para TIPOCURSO, caso o usuário queira visualizar informações e mais de um TIPOCURSO (exemplo: 1,2) não é retornado nenhum registro. Minha duvida é, se isso é possível fazer usando parâmetros e se estou fazendo da maneira correta Anexei a mensagem uma imagem de como foi realizado esse processo Atenciosamente, Lucas de Oliveira Guimarães. Quote
luisgustavogomes Posted June 14, 2023 Topic Count: 5 Topics Per Day: 0.00 Content Count: 503 Content Per Day: 0.19 Reputation: 142 Achievement Points: 3,338 Solved Content: 0 Days Won: 65 Status: Offline Age: 36 Device: Windows Report Posted June 14, 2023 @lucas.guimaraes, boa noite! Tudo certo ? A pouco tempo conseguimos resolver essa questão! Caso não consigas fazer, por favor, coloque sua query no post que iremos lhe ajudar! Abraços Quote
lucas.guimaraes Posted June 14, 2023 Topic Count: 1 Topics Per Day: 0.00 Content Count: 5 Content Per Day: 0.01 Reputation: 2 Achievement Points: 39 Solved Content: 0 Days Won: 0 Status: Offline Age: 45 Author Report Posted June 14, 2023 Bom dia @luisgustavogomes ! Criei a função 'fncSplitTexto' porém, não consegui aplicar na consulta com sucesso me baseando no seu exemplo do post de 10/05/2022. O 'COMPATIBILITY_LEVEL' do meu banco 'CorporeRM' é 110 e acredito que isso é algo que não posso alterar. Encaminho a consulta original anexada a mensagem sem usar a função. Preciso aplicar a 'fncSplitTexto' em todos campos mencionados no WHERE que estão usando a clausula 'IN', isso seria possível? Caso não tome muito seu tempo poderia me exemplificar o uso da função em apenas um dos campos da filtragem da minha consulta? Atenciosamente, Lucas de Oliveira Guimaraes SQLQuery4.sql Quote
luisgustavogomes Posted June 14, 2023 Topic Count: 5 Topics Per Day: 0.00 Content Count: 503 Content Per Day: 0.19 Reputation: 142 Achievement Points: 3,338 Solved Content: 0 Days Won: 65 Status: Offline Age: 36 Device: Windows Report Posted June 14, 2023 @lucas.guimaraes, boa tarde! Sobre o collation vai depender da sua versão do SQLSERVER, sobre a consulta, fiz esse exemplo baseado na sua query! Basicamente, utilizo o split para formar tabelas e utilizo o join para filtrar! USE CORPORERM GO SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; SET NOCOUNT ON; DECLARE @CODCOLIGADA INT = 0 DECLARE @TIPOCURSO VARCHAR(MAX) = '1,2,4,5' DECLARE @CURSO VARCHAR(MAX) = '6,90,100' ;WITH FILTRO_TIPOCURSO AS ( SELECT FS.ID, CONVERT(INT,FS.PALAVRA) AS 'TIPOCURSO' FROM [dbo].[fncSplitTexto](@TIPOCURSO, ',') FS ) , FILTRO_CURSO AS ( SELECT FS.ID, CONVERT(INT,FS.PALAVRA) AS 'CURSO' FROM [dbo].[fncSplitTexto](@CURSO, ',') FS ) SELECT DISTINCT SCURSO.CODCURSO ,SCURSO.NOME CURSO ,STIPOCURSO.CODTIPOCURSO ,STIPOCURSO.NOME TIPOCURSO ,YEAR(FLAN.DATAVENCIMENTO) ANO ,SCONTRATO.RA MATRICULA ,PPESSOA.NOME NOME ,SPARCELA.PARCELA PARCELA ,SPLETIVO.CODPERLET ,FLAN.VALORORIGINAL VALOR ,FLAN.DATAVENCIMENTO FROM DBO.SCONTRATO JOIN DBO.SPARCELA ON (SCONTRATO.CODCOLIGADA = SPARCELA.CODCOLIGADA AND SCONTRATO.RA = SPARCELA.RA AND SCONTRATO.IDPERLET = SPARCELA.IDPERLET AND SCONTRATO.CODCONTRATO = SPARCELA.CODCONTRATO) JOIN DBO.SLAN ON (SCONTRATO.CODCOLIGADA = SLAN.CODCOLIGADA AND SPARCELA.IDPARCELA = SLAN.IDPARCELA) JOIN DBO.FLAN ON (SCONTRATO.CODCOLIGADA = FLAN.CODCOLIGADA AND SLAN.IDLAN = FLAN.IDLAN) JOIN DBO.SALUNO ON (SCONTRATO.CODCOLIGADA = SALUNO.CODCOLIGADA AND SCONTRATO.RA = SALUNO.RA) JOIN DBO.PPESSOA ON (SALUNO.CODPESSOA = PPESSOA.CODIGO) JOIN DBO.STIPOCURSO ON (SCONTRATO.CODCOLIGADA = STIPOCURSO.CODCOLIGADA AND SCONTRATO.CODTIPOCURSO = STIPOCURSO.CODTIPOCURSO) JOIN DBO.SHABILITACAOFILIAL ON (SCONTRATO.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA AND SCONTRATO.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL) JOIN DBO.SCURSO ON (SCONTRATO.CODCOLIGADA = SCURSO.CODCOLIGADA AND SHABILITACAOFILIAL.CODTIPOCURSO = SCURSO.CODTIPOCURSO AND SHABILITACAOFILIAL.CODCURSO = SCURSO.CODCURSO) JOIN DBO.SPLETIVO ON (SCONTRATO.CODCOLIGADA = SPLETIVO.CODCOLIGADA AND SCONTRATO.IDPERLET = SPLETIVO.IDPERLET) JOIN DBO.SHABILITACAOFILIALPL ON SCONTRATO.CODCOLIGADA = SHABILITACAOFILIALPL.CODCOLIGADA AND SHABILITACAOFILIAL.IDHABILITACAOFILIAL = SHABILITACAOFILIALPL.IDHABILITACAOFILIAL JOIN DBO.SSERVICO ON (SCONTRATO.CODCOLIGADA = SSERVICO.CODCOLIGADA AND SPARCELA.CODSERVICO = SSERVICO.CODSERVICO) JOIN DBO.SMATRICULA ON (SCONTRATO.CODCOLIGADA = SMATRICULA.CODCOLIGADA AND SCONTRATO.RA = SMATRICULA.RA AND SCONTRATO.IDPERLET = SMATRICULA.IDPERLET AND SHABILITACAOFILIAL.IDHABILITACAOFILIAL = SMATRICULA.IDHABILITACAOFILIAL) JOIN DBO.SSTATUS ON (SMATRICULA.CODCOLIGADA = SSTATUS.CODCOLIGADA AND SMATRICULA.CODSTATUS = SSTATUS.CODSTATUS ) /*****/ JOIN FILTRO_TIPOCURSO ON (FILTRO_TIPOCURSO.TIPOCURSO = SCURSO.CODTIPOCURSO) --AND SCURSO.CODTIPOCURSO IN (:TIPOCURSO) JOIN FILTRO_CURSO ON (FILTRO_CURSO.CURSO = SCURSO.CODCURSO) --AND SCURSO.CODCURSO IN (:CODCURSO) /*****/ WHERE SCONTRATO.CODCOLIGADA = IIF(@CODCOLIGADA = 0 , SCONTRATO.CODCOLIGADA , @CODCOLIGADA) AND FLAN.STATUSLAN NOT IN (0,4) AND YEAR(FLAN.MESDECOMPETENCIA) = :COMPETENCIAANO AND MONTH(FLAN.MESDECOMPETENCIA) = :COMPETENCIAMES AND SSERVICO.CODSERVICO IN (1282) (:CODSERVICO) AND SSTATUS.CODSTATUS IN (14) (:CODSTATUS) ORDER BY STIPOCURSO.NOME, SCURSO.NOME, PPESSOA.NOME,SPARCELA.PARCELA Espero lhe ajudar! Abraços Quote
lucas.guimaraes Posted June 14, 2023 Topic Count: 1 Topics Per Day: 0.00 Content Count: 5 Content Per Day: 0.01 Reputation: 2 Achievement Points: 39 Solved Content: 0 Days Won: 0 Status: Offline Age: 45 Author Report Posted June 14, 2023 Boa tarde @luisgustavogomes ! Ao executar a consulta direto no SQL Server funciona. Após incorporar consulta no RM Reports através da tela de 'Editar Sentença' ocorrem alguns erros e o relatório não retorna nenhum registro (fornecendo os mesmos dados para os parâmetros definidos na consulta) Você já se deparou com esses erros e mensagens? Consegue me orientar? 1 - logo após clicar em Salvar 2- logo após fechar a primeira mensagem exibida 3- após clicar em OK, da tela de Editar Sentença Consulta que está sendo usada... /* faturamento - analitico */ SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; SET NOCOUNT ON; DECLARE @CODCOLIGADA INT = 0 DECLARE @CODTIPOCURSO VARCHAR(500) = :CODTIPOCURSO DECLARE @CODCURSO VARCHAR(500) = :CODCURSO ;WITH FILTRO_TIPOCURSO AS ( SELECT FS.ID, CONVERT(INT,FS.PALAVRA) AS 'TIPOCURSO' FROM [dbo].[fncSplitTexto](@CODTIPOCURSO, ',') FS ) , FILTRO_CURSO AS ( SELECT FS.ID, CONVERT(INT,FS.PALAVRA) AS 'CURSO' FROM [dbo].[fncSplitTexto](@CODCURSO, ',') FS ) SELECT DISTINCT SCURSO.CODCURSO ,SCURSO.NOME CURSO ,STIPOCURSO.CODTIPOCURSO ,STIPOCURSO.NOME TIPOCURSO ,YEAR(FLAN.DATAVENCIMENTO) ANO ,SCONTRATO.RA MATRICULA ,PPESSOA.NOME NOME ,SPARCELA.PARCELA PARCELA ,SPLETIVO.CODPERLET ,FLAN.VALORORIGINAL VALOR ,FLAN.DATAVENCIMENTO FROM DBO.SCONTRATO (NOLOCK) JOIN DBO.SPARCELA (NOLOCK) ON (SCONTRATO.CODCOLIGADA = SPARCELA.CODCOLIGADA AND SCONTRATO.RA = SPARCELA.RA AND SCONTRATO.IDPERLET = SPARCELA.IDPERLET AND SCONTRATO.CODCONTRATO = SPARCELA.CODCONTRATO) JOIN DBO.SLAN (NOLOCK) ON (SCONTRATO.CODCOLIGADA = SLAN.CODCOLIGADA AND SPARCELA.IDPARCELA = SLAN.IDPARCELA) JOIN DBO.FLAN (NOLOCK) ON (SCONTRATO.CODCOLIGADA = FLAN.CODCOLIGADA AND SLAN.IDLAN = FLAN.IDLAN) JOIN DBO.SALUNO (NOLOCK) ON (SCONTRATO.CODCOLIGADA = SALUNO.CODCOLIGADA AND SCONTRATO.RA = SALUNO.RA) JOIN DBO.PPESSOA (NOLOCK) ON (SALUNO.CODPESSOA = PPESSOA.CODIGO) JOIN DBO.STIPOCURSO (NOLOCK) ON (SCONTRATO.CODCOLIGADA = STIPOCURSO.CODCOLIGADA AND SCONTRATO.CODTIPOCURSO = STIPOCURSO.CODTIPOCURSO) JOIN DBO.SHABILITACAOFILIAL (NOLOCK) ON (SCONTRATO.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA AND SCONTRATO.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL) JOIN DBO.SCURSO (NOLOCK) ON (SCONTRATO.CODCOLIGADA = SCURSO.CODCOLIGADA AND SHABILITACAOFILIAL.CODTIPOCURSO = SCURSO.CODTIPOCURSO AND SHABILITACAOFILIAL.CODCURSO = SCURSO.CODCURSO) JOIN DBO.SPLETIVO (NOLOCK) ON (SCONTRATO.CODCOLIGADA = SPLETIVO.CODCOLIGADA AND SCONTRATO.IDPERLET = SPLETIVO.IDPERLET) JOIN DBO.SHABILITACAOFILIALPL (NOLOCK) ON (SCONTRATO.CODCOLIGADA = SHABILITACAOFILIALPL.CODCOLIGADA AND SHABILITACAOFILIAL.IDHABILITACAOFILIAL = SHABILITACAOFILIALPL.IDHABILITACAOFILIAL) JOIN DBO.SSERVICO (NOLOCK) ON (SCONTRATO.CODCOLIGADA = SSERVICO.CODCOLIGADA AND SPARCELA.CODSERVICO = SSERVICO.CODSERVICO) JOIN DBO.SMATRICULA (NOLOCK) ON (SCONTRATO.CODCOLIGADA = SMATRICULA.CODCOLIGADA AND SCONTRATO.RA = SMATRICULA.RA AND SCONTRATO.IDPERLET = SMATRICULA.IDPERLET AND SHABILITACAOFILIAL.IDHABILITACAOFILIAL = SMATRICULA.IDHABILITACAOFILIAL) JOIN DBO.SSTATUS (NOLOCK) ON (SMATRICULA.CODCOLIGADA = SSTATUS.CODCOLIGADA AND SMATRICULA.CODSTATUS = SSTATUS.CODSTATUS ) JOIN FILTRO_TIPOCURSO (NOLOCK) ON (FILTRO_TIPOCURSO.TIPOCURSO = SCURSO.CODTIPOCURSO) JOIN FILTRO_CURSO (NOLOCK) ON (FILTRO_CURSO.CURSO = SCURSO.CODCURSO) WHERE FLAN.STATUSLAN NOT IN (0,4) /*AND year(FLAN.DATAVENCIMENTO) >= 2016*/ AND YEAR(FLAN.MESDECOMPETENCIA) = 2023 /*:COMPETENCIAANO*/ AND MONTH(FLAN.MESDECOMPETENCIA) = 4 /*:COMPETENCIAMES*/ AND SSERVICO.CODSERVICO IN (1282) /*(:CODSERVICO)*/ AND SSTATUS.CODSTATUS IN (14) /*(:CODSTATUS)*/ ORDER BY STIPOCURSO.NOME, SCURSO.NOME, PPESSOA.NOME,SPARCELA.PARCELA Quote
luisgustavogomes Posted June 14, 2023 Topic Count: 5 Topics Per Day: 0.00 Content Count: 503 Content Per Day: 0.19 Reputation: 142 Achievement Points: 3,338 Solved Content: 0 Days Won: 65 Status: Offline Age: 36 Device: Windows Report Posted June 14, 2023 Opa, Só cópia e cola... não usa o NOLOCK, pois o SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED é o nolock na session! /* faturamento - analitico */ SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; SET NOCOUNT ON; DECLARE @CODCOLIGADA INT = 0 DECLARE @CODTIPOCURSO VARCHAR(500) = :CODTIPOCURSO DECLARE @CODCURSO VARCHAR(500) = :CODCURSO ;WITH FILTRO_TIPOCURSO AS ( SELECT FS.ID, CONVERT(INT,FS.PALAVRA) AS 'TIPOCURSO' FROM [dbo].[fncSplitTexto](@CODTIPOCURSO, ',') FS ) , FILTRO_CURSO AS ( SELECT FS.ID, CONVERT(INT,FS.PALAVRA) AS 'CURSO' FROM [dbo].[fncSplitTexto](@CODCURSO, ',') FS ) SELECT DISTINCT SCURSO.CODCURSO ,SCURSO.NOME CURSO ,STIPOCURSO.CODTIPOCURSO ,STIPOCURSO.NOME TIPOCURSO ,YEAR(FLAN.DATAVENCIMENTO) ANO ,SCONTRATO.RA MATRICULA ,PPESSOA.NOME NOME ,SPARCELA.PARCELA PARCELA ,SPLETIVO.CODPERLET ,FLAN.VALORORIGINAL VALOR ,FLAN.DATAVENCIMENTO FROM DBO.SCONTRATO JOIN DBO.SPARCELA ON (SCONTRATO.CODCOLIGADA = SPARCELA.CODCOLIGADA AND SCONTRATO.RA = SPARCELA.RA AND SCONTRATO.IDPERLET = SPARCELA.IDPERLET AND SCONTRATO.CODCONTRATO = SPARCELA.CODCONTRATO) JOIN DBO.SLAN ON (SCONTRATO.CODCOLIGADA = SLAN.CODCOLIGADA AND SPARCELA.IDPARCELA = SLAN.IDPARCELA) JOIN DBO.FLAN ON (SCONTRATO.CODCOLIGADA = FLAN.CODCOLIGADA AND SLAN.IDLAN = FLAN.IDLAN) JOIN DBO.SALUNO ON (SCONTRATO.CODCOLIGADA = SALUNO.CODCOLIGADA AND SCONTRATO.RA = SALUNO.RA) JOIN DBO.PPESSOA ON (SALUNO.CODPESSOA = PPESSOA.CODIGO) JOIN DBO.STIPOCURSO ON (SCONTRATO.CODCOLIGADA = STIPOCURSO.CODCOLIGADA AND SCONTRATO.CODTIPOCURSO = STIPOCURSO.CODTIPOCURSO) JOIN DBO.SHABILITACAOFILIAL ON (SCONTRATO.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA AND SCONTRATO.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL) JOIN DBO.SCURSO ON (SCONTRATO.CODCOLIGADA = SCURSO.CODCOLIGADA AND SHABILITACAOFILIAL.CODTIPOCURSO = SCURSO.CODTIPOCURSO AND SHABILITACAOFILIAL.CODCURSO = SCURSO.CODCURSO) JOIN DBO.SPLETIVO ON (SCONTRATO.CODCOLIGADA = SPLETIVO.CODCOLIGADA AND SCONTRATO.IDPERLET = SPLETIVO.IDPERLET) JOIN DBO.SHABILITACAOFILIALPL ON (SCONTRATO.CODCOLIGADA = SHABILITACAOFILIALPL.CODCOLIGADA AND SHABILITACAOFILIAL.IDHABILITACAOFILIAL = SHABILITACAOFILIALPL.IDHABILITACAOFILIAL) JOIN DBO.SSERVICO ON (SCONTRATO.CODCOLIGADA = SSERVICO.CODCOLIGADA AND SPARCELA.CODSERVICO = SSERVICO.CODSERVICO) JOIN DBO.SMATRICULA ON (SCONTRATO.CODCOLIGADA = SMATRICULA.CODCOLIGADA AND SCONTRATO.RA = SMATRICULA.RA AND SCONTRATO.IDPERLET = SMATRICULA.IDPERLET AND SHABILITACAOFILIAL.IDHABILITACAOFILIAL = SMATRICULA.IDHABILITACAOFILIAL) JOIN DBO.SSTATUS ON (SMATRICULA.CODCOLIGADA = SSTATUS.CODCOLIGADA AND SMATRICULA.CODSTATUS = SSTATUS.CODSTATUS ) JOIN FILTRO_TIPOCURSO ON (FILTRO_TIPOCURSO.TIPOCURSO = SCURSO.CODTIPOCURSO) JOIN FILTRO_CURSO ON (FILTRO_CURSO.CURSO = SCURSO.CODCURSO) WHERE FLAN.STATUSLAN NOT IN (0,4) /*AND year(FLAN.DATAVENCIMENTO) >= 2016*/ AND YEAR(FLAN.MESDECOMPETENCIA) = 2023 /*:COMPETENCIAANO*/ AND MONTH(FLAN.MESDECOMPETENCIA) = 4 /*:COMPETENCIAMES*/ AND SSERVICO.CODSERVICO IN (1282) /*(:CODSERVICO)*/ AND SSTATUS.CODSTATUS IN (14) /*(:CODSTATUS)*/ ORDER BY STIPOCURSO.NOME, SCURSO.NOME, PPESSOA.NOME,SPARCELA.PARCELA Abraços Quote
lucas.guimaraes Posted June 14, 2023 Topic Count: 1 Topics Per Day: 0.00 Content Count: 5 Content Per Day: 0.01 Reputation: 2 Achievement Points: 39 Solved Content: 0 Days Won: 0 Status: Offline Age: 45 Author Report Posted June 14, 2023 Fiz como recomendou e, somente as mensagens referente ao 'NOLOCK' e o uso do 'DECLARE' foram exibidas. Ao executar o relatório pelo RM Reports nenhum registro foi exibido. Tem alguma ideia do que ainda pode ser? Segue imagens das configurações setadas nos parâmetros que estão usando (TIPOCURSO e CURSO, os demais 'setei' valores fixos no WHERE). Inclusive testei configurado ambos como Tipo = Numero(inteiro de 16 bits) e o resultado foi o mesmo. /* faturamento - analitico */ SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; SET NOCOUNT ON; DECLARE @CODCOLIGADA INT = 0 DECLARE @CODTIPOCURSO VARCHAR(500) = '1' --:CODTIPOCURSO DECLARE @CODCURSO VARCHAR(500) = '1,4' --:CODCURSO ;WITH FILTRO_TIPOCURSO AS ( SELECT FS.ID, CONVERT(INT,FS.PALAVRA) AS 'TIPOCURSO' FROM [dbo].[fncSplitTexto](@CODTIPOCURSO, ',') FS ) , FILTRO_CURSO AS ( SELECT FS.ID, CONVERT(INT,FS.PALAVRA) AS 'CURSO' FROM [dbo].[fncSplitTexto](@CODCURSO, ',') FS ) SELECT DISTINCT SCURSO.CODCURSO ,SCURSO.NOME CURSO ,STIPOCURSO.CODTIPOCURSO ,STIPOCURSO.NOME TIPOCURSO ,YEAR(FLAN.DATAVENCIMENTO) ANO ,SCONTRATO.RA MATRICULA ,PPESSOA.NOME NOME ,SPARCELA.PARCELA PARCELA ,SPLETIVO.CODPERLET ,FLAN.VALORORIGINAL VALOR ,FLAN.DATAVENCIMENTO FROM DBO.SCONTRATO JOIN DBO.SPARCELA ON (SCONTRATO.CODCOLIGADA = SPARCELA.CODCOLIGADA AND SCONTRATO.RA = SPARCELA.RA AND SCONTRATO.IDPERLET = SPARCELA.IDPERLET AND SCONTRATO.CODCONTRATO = SPARCELA.CODCONTRATO) JOIN DBO.SLAN ON (SCONTRATO.CODCOLIGADA = SLAN.CODCOLIGADA AND SPARCELA.IDPARCELA = SLAN.IDPARCELA) JOIN DBO.FLAN ON (SCONTRATO.CODCOLIGADA = FLAN.CODCOLIGADA AND SLAN.IDLAN = FLAN.IDLAN) JOIN DBO.SALUNO ON (SCONTRATO.CODCOLIGADA = SALUNO.CODCOLIGADA AND SCONTRATO.RA = SALUNO.RA) JOIN DBO.PPESSOA ON (SALUNO.CODPESSOA = PPESSOA.CODIGO) JOIN DBO.STIPOCURSO ON (SCONTRATO.CODCOLIGADA = STIPOCURSO.CODCOLIGADA AND SCONTRATO.CODTIPOCURSO = STIPOCURSO.CODTIPOCURSO) JOIN DBO.SHABILITACAOFILIAL ON (SCONTRATO.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA AND SCONTRATO.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL) JOIN DBO.SCURSO ON (SCONTRATO.CODCOLIGADA = SCURSO.CODCOLIGADA AND SHABILITACAOFILIAL.CODTIPOCURSO = SCURSO.CODTIPOCURSO AND SHABILITACAOFILIAL.CODCURSO = SCURSO.CODCURSO) JOIN DBO.SPLETIVO ON (SCONTRATO.CODCOLIGADA = SPLETIVO.CODCOLIGADA AND SCONTRATO.IDPERLET = SPLETIVO.IDPERLET) JOIN DBO.SHABILITACAOFILIALPL ON (SCONTRATO.CODCOLIGADA = SHABILITACAOFILIALPL.CODCOLIGADA AND SHABILITACAOFILIAL.IDHABILITACAOFILIAL = SHABILITACAOFILIALPL.IDHABILITACAOFILIAL) JOIN DBO.SSERVICO ON (SCONTRATO.CODCOLIGADA = SSERVICO.CODCOLIGADA AND SPARCELA.CODSERVICO = SSERVICO.CODSERVICO) JOIN DBO.SMATRICULA ON (SCONTRATO.CODCOLIGADA = SMATRICULA.CODCOLIGADA AND SCONTRATO.RA = SMATRICULA.RA AND SCONTRATO.IDPERLET = SMATRICULA.IDPERLET AND SHABILITACAOFILIAL.IDHABILITACAOFILIAL = SMATRICULA.IDHABILITACAOFILIAL) JOIN DBO.SSTATUS ON (SMATRICULA.CODCOLIGADA = SSTATUS.CODCOLIGADA AND SMATRICULA.CODSTATUS = SSTATUS.CODSTATUS ) JOIN FILTRO_TIPOCURSO ON (FILTRO_TIPOCURSO.TIPOCURSO = SCURSO.CODTIPOCURSO) JOIN FILTRO_CURSO ON (FILTRO_CURSO.CURSO = SCURSO.CODCURSO) WHERE FLAN.STATUSLAN NOT IN (0,4) /*AND year(FLAN.DATAVENCIMENTO) >= 2016*/ AND YEAR(FLAN.MESDECOMPETENCIA) = 2023 /*:COMPETENCIAANO*/ AND MONTH(FLAN.MESDECOMPETENCIA) = 4 /*:COMPETENCIAMES*/ AND SSERVICO.CODSERVICO IN (1282) /*(:CODSERVICO)*/ AND SSTATUS.CODSTATUS IN (14) /*(:CODSTATUS)*/ ORDER BY STIPOCURSO.NOME, SCURSO.NOME, PPESSOA.NOME,SPARCELA.PARCELA Quote
luisgustavogomes Posted June 15, 2023 Topic Count: 5 Topics Per Day: 0.00 Content Count: 503 Content Per Day: 0.19 Reputation: 142 Achievement Points: 3,338 Solved Content: 0 Days Won: 65 Status: Offline Age: 36 Device: Windows Report Posted June 15, 2023 @lucas.guimaraes, bom dia! Não temos uma base para testar seu relatório, portanto, caso queiras que eu lhe ajude, podemos realizar um remoto, meu contato no skype é luisgustavogomes@outlook.com Abraços 1 Quote
Solution lucas.guimaraes Posted June 27, 2023 Topic Count: 1 Topics Per Day: 0.00 Content Count: 5 Content Per Day: 0.01 Reputation: 2 Achievement Points: 39 Solved Content: 0 Days Won: 0 Status: Offline Age: 45 Author Solution Report Posted June 27, 2023 Em 15/06/2023 at 09:56, luisgustavogomes disse: @lucas.guimaraes, bom dia! Não temos uma base para testar seu relatório, portanto, caso queiras que eu lhe ajude, podemos realizar um remoto, meu contato no skype é luisgustavogomes@outlook.com Abraços Boa tarde @luisgustavogomes ! Consegui resolver meu problema com a seguinte linha na consulta... AND REPLACE((',' + :TIPOCURSO + ','), ' ', '') LIKE ('%,' + CAST(SCURSO.CODTIPOCURSO AS VARCHAR)+ ',%') Com isso, consigo executar consultas SQL no RM Resports que usam parâmetros com múltiplos valores. Atenciosamente, Lucas Guimarães. 1 1 Quote
Guilherme José Silva Posted June 28, 2023 Topic Count: 6 Topics Per Day: 0.01 Content Count: 35 Content Per Day: 0.06 Reputation: 16 Achievement Points: 235 Solved Content: 0 Days Won: 4 Status: Offline Age: 33 Device: Windows Report Posted June 28, 2023 Boa noite amigos, Será que isso funcionária no Oracle também? Fiquei curioso. Quote
luisgustavogomes Posted June 28, 2023 Topic Count: 5 Topics Per Day: 0.00 Content Count: 503 Content Per Day: 0.19 Reputation: 142 Achievement Points: 3,338 Solved Content: 0 Days Won: 65 Status: Offline Age: 36 Device: Windows Report Posted June 28, 2023 Boa noite, Boa pergunta! Quem tiver Oracle, se tiver como, por favor! Pelo Sqlserver utilizamos uma CTE para fazer o split. Abraços Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.