一条复杂的sql查询语句,不知道怎么写好点?????
我要根据参数 REVIEWER 来查出相应的数据,
参数格式是:DEPT_BMLD_BSTA
例如:
- SQL code
select * from T_TSG_REVIEWHIS where REVIEWER='DEPT_BMLD_BSTA';
问题是,(假如参数比作: A_B_C )
A是固定的,B和C 是要传进来的参数,且B和C的个数是一个或多个
B 可以这样得到: select B from Table1 where userNo='e001'; (返回一个或多个值)
C 可以这样得到: select C from Table1 where userNo='e001'; (返回一个或多个值)
子查询解决得了吗?
这语句该怎么写好点呢?
前提,不在service类中处理!
此语句是基于 sqlmap 的sql
[解决办法]
是这样的么 传值就查询 空值就相当于1=1
- SQL code
--字段COL1、2、3 参数a b cselect * from T_TSG_REVIEWHIS where REVIEWER='DEPT_BMLD_BSTA' and col1=a and (col2=b or b is null) and (col3=c or c is null)
[解决办法]
还是不大了解多个传值 要怎么取? 如果传值是 1 1,2 3,4
那就是相当于这个? 应该也不对吧?
- SQL code
select * from T_TSG_REVIEWHIS where REVIEWER='1_1_3'union allselect * from T_TSG_REVIEWHIS where REVIEWER='1_2_4';