Office中国论坛/Access中国论坛

标题: 查询字段不全为0的记录 [打印本页]

作者: zhouxh    时间: 2003-7-16 23:59
标题: 查询字段不全为0的记录
假设有一表
字段F1(主键),A1,A2,A3,A4,A5,....A15
假设A1-A15中各字段的值不全0,该如何设置查询得出不全为零的记录
如:
    F1(主键),A1,A2,A3,A4,A5,....A15
    W,1,2,0,0,0......15
    G,0,0,0,0,0.......0(全为0)
    H,0,1,0,1,0,0,0,0,.....0
    ......
   该如何设置查询得出记录 W,H来?
高手请指路!


作者: chenghai    时间: 2003-7-17 00:59
呵呵,超长的查询语句,不过很简单的
作者: zhuyiwen    时间: 2003-7-17 01:21
select * from yourtable
where ((A1+A2+...+A15) <> 0) and ((A1=0) or (A2=0) or ... or (A15=0))

[em24]
作者: sea.er    时间: 2003-7-17 02:18
以下是引用zhuyiwen在2003-7-16 17:20:34的发言:
select * from yourtable
where ((A1+A2+...+A15) <> 0) and ((A1=0) or (A2=0) or ... or (A15=0))

[em24]


where ((A1+A2+...+A15) <> 0))不就行了?干吗还要后面的内容?
不过如果字段类型不一样,转换一下不知道行不行?
作者: zhuyiwen    时间: 2003-7-17 17:13
以下是引用sea.er在2003-7-16 18:18:28的发言:
where ((A1+A2+...+A15) <> 0))不就行了?干吗还要后面的内容?


如果全不为零呢?
作者: sea.er    时间: 2003-7-17 17:25
不好意思,可能我理解错楼主的意思了。
可字段类型必须为数字型才行,对吧。

作者: wewyhy    时间: 2003-7-17 18:33
以下是引用zhuyiwen在2003-7-16 17:20:34的发言:
select * from yourtable
where ((A1+A2+...+A15) <> 0) and ((A1=0) or (A2=0) or ... or (A15=0))

[em24]


如果值可以为负数呢


作者: zhuyiwen    时间: 2003-7-17 18:40
以下是引用wewyhy在2003-7-17 10:32:44的发言:

如果值可以为负数呢



对!

更正:
select * from yourtable
  where ((Abs(A1)+Abs(A2)+...+Abs(A15)) <> 0) and ((A1=0) or (A2=0) or ... or (A15=0))

[em24]
作者: ccxf2003    时间: 2003-7-17 19:27
如果  A1=99,A2=-1,A9=-98,其余的全为0或空呢?......

[em24]大家看看这个如何?
SELECT 表1.*
FROM 表1
WHERE (((表1.A1)=0) AND ((表1.A2)=0) AND ((表1.A3)=0) AND ((表1.A4)=0) AND ((表1.A5)=0) AND ((表1.A6)=0) AND ((表1.A7)=0) AND ((表1.A8)=0) AND ((表1.A9)=0) AND ((表1.A10)=0) AND ((表1.A11)=0) AND ((表1.A12)=0) AND ((表1.A13)=0) AND ((表1.A14)=0) AND ((表1.A15)=0))=false;
[em24]




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3