JasperReports e o Operador IN do SQL
Olá a todos!
Um dos meus alunos do curso de JasperReports me questionou recentemente como criar uma consulta onde uma coluna receberia uma lista de valores para localizar determinados registros no banco de dados.
Para ficar mais claro, suponha que você tem um tabela de endereços e uma das colunas desta tabela é a UF. Assim, você deseja adicionar um clausula no SQL para retornar endereços a partir de uma lista de UFs. Para esse tipo de consulta nós usamos o operador IN, como no exemplo a seguir:
SELECT * FROM ENDERECOS WHERE UF IN('RS', 'SP');
A consulta acima vai retornar todos as linhas da tabela de endereços que contenham ‘RS’ ou ‘SP’ como UF. O problema é que, ao adicionar essa consulta no JasperReports ele não a processa e lança uma exceção ao executar o relatório.
Mas isso pode ser contornado com uma função existente no JasperReports que é justamente preparada para se trabalhar com o operador IN. A função é a seguinte:
$X(IN, <column_name>, <parameter_name>)
Se quiser ver na pratica como trabalhar com essa função, assista o vídeo em que demonstro como usar tal recurso.
🤔 Ainda não sabe gerar relatórios em Java com JasperReports?
👉 Então matricule-se em meu curso Gere relatórios com JasperReports.
Até a próxima!
Referencias: