Adn*_*nan 0 mysql sql jasper-reports
我正在寻找一种在 JasperReport 中使用 IN 关键字的方法。我的查询看起来像:
SELECT * FROM table_name WHERE CID IN (145,45, 452);
Run Code Online (Sandbox Code Playgroud)
在 jasper report 之后,我可以设置它;
SELECT * FROM table_name WHERE CID IN ($P{MY_CIDS});
Run Code Online (Sandbox Code Playgroud)
从我的 Java 中,我将$P{MY_CIDS}作为发送String,所以我的查询看起来像
SELECT * FROM table_name WHERE CID IN ("145,45, 452");
Run Code Online (Sandbox Code Playgroud)
我的问题是如何在SQL转换"145,45, 452" 为有效的查询,以便它会考虑到每个单独的值145,45,452
感谢所有帮助。
WHERE FIND_IN_SET(CID, "145,45,452")
Run Code Online (Sandbox Code Playgroud)
但是这个查询总是会导致表全扫描。所以我建议你重写你的代码并使用正确的IN (A, B, C)语法。