之前在写一个报表,其中有个功能是“批量查询”,但是要在一个多行文本框中实现,绞尽脑汁儿啊,后来同事提醒了一下,这个可以用SQL实现;
上图是报表中的样式;
然后下面这个是批量查询最终的效果,多行文本框中是要加换行条件的;
这段SQL主要是where后面的条件, 1 = 1 ${if(len(文本name) > 0," and 字段name in ('" + replace(文本name, "\n", "','") + "')","") }
select *
from teblev v
left tebles s
on v.id = s.id
left tebleb b
on s.id = b._id
where 1 = 1 ${if(len(tps) > 0,
" and v.tps in ('" + replace(tps, "\n", "','") + "')",
"") }
and 1 = 1 ${if(len(CID) > 0,
" and B.SAP_FEATURE_ID in ('" + replace(CID, "\n", "','") + "')",
"") }
这样就可以用单个文本框实现批量查询了;