首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

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

2012-05-23 
一条复杂的sql查询语句,不知道怎么写好点?????我要根据参数 REVIEWER 来查出相应的数据,参数格式是:DEPT_B

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

热点排行