fernandolk_1992 Posted May 10, 2022 Topic Count: 23 Topics Per Day: 0.01 Content Count: 59 Content Per Day: 0.04 Reputation: 7 Achievement Points: 482 Solved Content: 0 Days Won: 3 Status: Offline Device: Windows Report Posted May 10, 2022 Bom dia. Pessoal, estou fazendo uma consulta SQL e nela inclui um campo que deve ser incluído pelo usuário, porem nesse filtro de entrada ele permite utilizar apenas um único valor. No meu exemplo eu preciso listar os códigos do projeto 540 e 542, porem quando coloco os 2 códigos o relatório aparece em branco, se eu colocar os códigos individuais a consulta retorna os dados. No momento deixei o código para filtrar dessa forma: AND MPRJ.CODPRJ LIKE '%' + :PROJETO + '%' porem já tentei com o IN, =, LIKE e mesmo assim não consigo fazer o filtro que preciso. Em anexo está o print com a tela de entrada. Como faço para que o sistema entenda que deve filtrar os 2 projetos (ou mais) conforme a necessidade do usuário?
luisgustavogomes Posted May 11, 2022 Topic Count: 5 Topics Per Day: 0.00 Content Count: 535 Content Per Day: 0.17 Reputation: 184 Achievement Points: 3,568 Solved Content: 0 Days Won: 77 Status: Offline Age: 37 Device: Windows Report Posted May 11, 2022 @fernandolk_1992, boa noite! Existem algumas formas de resolver essa questão... criando vários parâmetros de entrada, exemplo projeto 1, 2, 3 ...assim limitando a quantas forem criadas na query. Porém, a maneira que "eu" utilizo (possível solução) é a seguinte, com SQLServer (Compatibility level < 130): Crio uma CTE para efetuar um split do parâmetro, essa função do split é do incrível Dirceu Resende Como quebrar um string em uma tabela de substrings utilizando um delimitador no SQL Server - Dirceu Resende, depois envolvo a query em uma CTE e utilizo um JOIN para continuar a query. Conforme imagem: Texto da query Essa é uma das formas, porém , existem formar mais fácies, por exemplo a utilização da função nativa STRING_SPLIT STRING_SPLIT (Transact-SQL) - SQL Server | Microsoft Docs, contudo o nível de compatibilidade do banco deve ser maior que (130). Olha que simples... Porém a aplicação não aceita ainda o "Compatibility level" acima de 120... Espero ajudar. Abraços. TEXTO_QUERY.sql 1
Jair - Fórmula Posted May 11, 2022 Topic Count: 946 Topics Per Day: 0.13 Content Count: 9,194 Content Per Day: 1.25 Reputation: 460 Achievement Points: 109,833 Solved Content: 0 Days Won: 267 Status: Offline Age: 54 Device: Windows Report Posted May 11, 2022 Fera!!!! Muito bom. Será de grande valia esse post aqui, com certeza.
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