SELECT MaterialCode,SizeCode, [OrderID]
FROM [OL_MaterialSize] WITH (TABLOCKX)
WHERE
([MaterialCode] <> '16887432' AND [SizeCode] <> '0048')
ORDER BY [OrderID] ASC
奇怪了.
我这里要查的为
([MaterialCode] <> '16887432' 且 [SizeCode] <> '0048'
但为什么我所有的
MaterialCode='16887432'
[SizeCode] = '0047'
不出来
还有
MaterialCode='16887433'
[SizeCode] = '0048'
也不出来呢这两条记录应该出来的啊谢谢
FROM [OL_MaterialSize]
WHERE
(ltrim(rtrim([MaterialCode])) <> '16887432' AND ltrim(rtrim([SizeCode])) <> '0048')没有不是一样.只要符合面的一个条件的都不出来了
FROM [OL_MaterialSize]
WHERE
[MaterialCode] = '16887432' AND [SizeCode] = '0048'能找到这条记录
然后我要把除这记录名的其他记录时用SELECT MaterialCode,SizeCode, [OrderID]
FROM [OL_MaterialSize]
WHERE
[MaterialCode] <> '16887432' AND [SizeCode] <> '0048'的时候
只要MaterialCode=16887432 或者 SizeCode='0048'
的就全都不出来了怎么回事.我的SQL写错了吗
楼主你这个where逻辑,就已经说明你的
MaterialCode='16887432'
[SizeCode] = '0047'还有
MaterialCode='16887433'
[SizeCode] = '0048'本来就不应该出来吧...
create table #(id int,nid int)
insert into # select 1,2
insert into # select 1,3
insert into # select 2,2select * from # where id<>1 and nid<>2
/*
这个本来就不会有结果
*/除非你的逻辑是
select * from # where id<>1 or nid<>2
/*
1 3
2 2
*/
create table #(id int,nid int)
insert into # select 1,2
insert into # select 1,3
insert into # select 2,2select * from # where id<>1 and nid<>2
/*
这个本来就不会有结果
*/除非你的逻辑是
select * from # where id<>1 or nid<>2
/*
1 3
2 2
*/
学习楼上的用法。