select * from t
where aa='11'
bb='22'
如果aa不等于11,语句就是select * from t where bb='22'
如果aa=11,语句就是select * from t where aa='11'
这个要怎么写呢?这里不是or 的问题。
aa bb
11 22
00 22
22 00
22 11查出来的结果应该是
aa=11时
11 22
aa<>11时
11 22
00 22
where aa='11'
bb='22'
如果aa不等于11,语句就是select * from t where bb='22'
如果aa=11,语句就是select * from t where aa='11'
这个要怎么写呢?这里不是or 的问题。
aa bb
11 22
00 22
22 00
22 11查出来的结果应该是
aa=11时
11 22
aa<>11时
11 22
00 22
select * from t
where aa='11' or bb='22'
select * from t
where aa='11' or (aa<>'11' and bb='22')
我要的就是这样,当时卡壳想不通。后来自己想通了。
declare @T table
(aa varchar(2),bb varchar(2))
insert into @T
select '11','22' union all
select '00','22' union all
select '22','00' union all
select '22','11'DECLARE @aa VARCHAR(4)
SET @aa='11'
select * from @T WHERE aa='11' OR bb='22'
/*
aa bb
---- ----
11 22
00 22 --楼主的意思是aa='11'的时候结果中不含有这条
*/