我想通过页面上传过来的2个值X1,X2去查询到数据库中包含这些值的数据,我要查询到的数据由:
code name
-----------------
X1 NULL
NULL X1
X2 NULL
NULL X2
X1 X2
X2 X1但不能查询到一下值:
code name
-----------------
X1 X3
X3 NULL
X3 X1
X2 X3
X3 X2谢谢
code name
-----------------
X1 NULL
NULL X1
X2 NULL
NULL X2
X1 X2
X2 X1但不能查询到一下值:
code name
-----------------
X1 X3
X3 NULL
X3 X1
X2 X3
X3 X2谢谢
X3 没有一点规律可循啊
(select 'X1' code, null name from dual
union
select null, 'X1' from dual
union
select 'X2', null from dual
union
select null, 'X2' from dual
union
select 'X1', 'X2' from dual
union
select 'X2' ,'X1' from dual
)
select * from a WHERE CODE in ('X1', 'X2') or name in ('X1', 'X2')
with a as
(select 'X1' code, null name from dual
union
select null, 'X1' from dual
union
select 'X2', null from dual
union
select null, 'X2' from dual
union
select 'X1', 'X2' from dual
union
select 'X2' ,'X1' from dual
union
select 'X3' ,'X1' from dual
union
select 'X2' ,'X3' from dual
union
select 'X3' ,'null' from dual
)
select * from a WHERE (CODE in ('X1', 'X2') OR code IS null) AND ( name in ('X1', 'X2') OR name IS null)
借用下美女的SQL,加上null条件
select * from a WHERE (CODE in ('X1', 'X2') OR code IS null) AND ( name in ('X1', 'X2') OR name IS null) 是可以的,谢谢了