我的数据也不符合条件啊. 奇怪的是: select * from totaltables where 表名 not like '%view%' 或者 select * from totaltables where 年份 not like '%全部年份%' 单独执行的时候,不管在vb里还是在sql server里都能正确执行. ~~~~~~~~ ~~~~~~~~
select * from totaltables where 表名 not like '%view%' or 年份 not like '%全部年份%' 这个语句与下面这个语句的效果是一样的,搞不清楚什么怪事了: select * from totaltables只有当你的“表名”和“年份”同时为'%view%'、'%全部年份%'会有和select * from totaltables有不一样的结果表的逻辑设计有问题,或者是你的限制条件有问题
select * from totaltables where (表名 not like '%view%') or (年份 not like '%全部年份%') 试试
谢谢各位大虾热心帮助. 说来也搞笑,我试着把or换成and,好象结果已经正确了.但是现在确是更加糊涂了....sigh 如下: select * from totaltables where 表名 not like '%view%' and 年份 not like '%全部年份%'
呵呵,是你的逻辑有错.不知你是要查什么? 你原来的语句 select * from totaltables where 表名 not like '%view%' or 年份 not like '%全部年份%' 是查找所有表名中不包括'view'或年份中不包括'全部年份'的记录,这样,当表名中除去既包括'view'且年份中包括'全部年份'的记录外的其他记录就是你的结果. 即包括[表名中不包括'view'但年份有'全部年份'],[年份中不包括'全部年份'但表名中有'view'],[表名不包括'view'且年份中不包括'全部年份'] 而后面的 select * from totaltables where 表名 not like '%view%' and 年份 not like '%全部年份%' 是查找表名不包括'view'且年份中不包括'全部年份'的记录,是第一句中的一个子集
我的本意是从totaltables表中把"表名"字段包含"view"字样的记录
或者"年份"字段包含"全部年份"字样的记录过滤掉......
如何写才能正确地去掉符合这两种条件之一的记录过滤掉呢???糊涂了,请大虾指点迷津....3x
奇怪的是:
select * from totaltables where 表名 not like '%view%'
或者
select * from totaltables where 年份 not like '%全部年份%'
单独执行的时候,不管在vb里还是在sql server里都能正确执行.
~~~~~~~~
~~~~~~~~
这个语句与下面这个语句的效果是一样的,搞不清楚什么怪事了:
select * from totaltables只有当你的“表名”和“年份”同时为'%view%'、'%全部年份%'会有和select * from totaltables有不一样的结果表的逻辑设计有问题,或者是你的限制条件有问题
试试
说来也搞笑,我试着把or换成and,好象结果已经正确了.但是现在确是更加糊涂了....sigh
如下:
select * from totaltables where 表名 not like '%view%' and 年份 not like '%全部年份%'
你原来的语句
select * from totaltables where 表名 not like '%view%' or 年份 not like '%全部年份%'
是查找所有表名中不包括'view'或年份中不包括'全部年份'的记录,这样,当表名中除去既包括'view'且年份中包括'全部年份'的记录外的其他记录就是你的结果.
即包括[表名中不包括'view'但年份有'全部年份'],[年份中不包括'全部年份'但表名中有'view'],[表名不包括'view'且年份中不包括'全部年份']
而后面的
select * from totaltables where 表名 not like '%view%' and 年份 not like '%全部年份%'
是查找表名不包括'view'且年份中不包括'全部年份'的记录,是第一句中的一个子集