SELECT * FROM A WHERE (D='P' AND LEN(ISNULL(A,''))=0 AND LEN(ISNULL(B,''))=0 AND LEN(ISNULL(C,''))=0) OR (a='u' AND b='v' AND c='w' AND d='x')
SELECT * FROM A WHERE NOT EXISTS(SELECT 1 FROM A WHERE A='' AND B='' AND C='' AND D='P') AND NOT EXISTS(SELECT 1 FROM A WHERE a='u' AND b='v' AND c='w' AND d='x')
select * from tb where d<>'p' or(a<>'u' and b<>'v' and c<>'w' and d<>'x')
都不正确 一楼输出了 p 二楼未输出任何东西 三楼把u v w x输出来了 我希望的是除了 p 和uvwx,其他的都输出
Create table #a ( a varchar(10), b varchar(10), c varchar(10), d varchar(10) ) insert into #a select 'a','b','c','d' union select '','','','P' union select 'a','b','c','P' union select 'u','v','w','x' select * from #a where (a!='' OR b!='' OR c!='' OR d!='P') and (a!='u' OR b!='v' OR c!='W' OR d!='x')drop table #a
FROM A
WHERE
(D='P' AND LEN(ISNULL(A,''))=0 AND LEN(ISNULL(B,''))=0 AND LEN(ISNULL(C,''))=0)
OR
(a='u' AND b='v' AND c='w' AND d='x')
NOT EXISTS(SELECT 1 FROM A WHERE A='' AND B='' AND C='' AND D='P')
AND NOT EXISTS(SELECT 1 FROM A WHERE a='u' AND b='v' AND c='w' AND d='x')
*
from
tb
where
d<>'p' or(a<>'u' and b<>'v' and c<>'w' and d<>'x')
一楼输出了 p
二楼未输出任何东西
三楼把u v w x输出来了
我希望的是除了 p 和uvwx,其他的都输出
Create table #a
(
a varchar(10),
b varchar(10),
c varchar(10),
d varchar(10)
)
insert into #a
select 'a','b','c','d' union
select '','','','P' union
select 'a','b','c','P' union
select 'u','v','w','x' select *
from #a
where (a!='' OR b!='' OR c!='' OR d!='P')
and (a!='u' OR b!='v' OR c!='W' OR d!='x')drop table #a