读书人

一条复杂的sql查询语句不知道如何写

发布时间: 2012-05-23 13:44:13 作者: rapoo

一条复杂的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'; 

读书人网 >oracle

热点推荐