| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2533 人关注过本帖
标题:查询不等于1的数据。保留 NULL、0
只看楼主 加入收藏
yht4482
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-8-29
结帖率:0
收藏
已结贴  问题点数:20 回复次数:9 
查询不等于1的数据。保留 NULL、0
一列数据为,null 、 1、0 ,如查询closed 列 不为1的数据。谢谢[local]2[/local]
搜索更多相关主题的帖子: closed null 
2016-08-29 17:09
yht4482
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-8-29
收藏
得分:0 
未命名.rar (48.27 KB)
,截图文件
2016-08-29 17:09
mywisdom88
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:20 
select * from 表1 where closed<>1 or closed is null
2016-08-29 17:39
yht4482
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-8-29
收藏
得分:0 
谢谢!!!!!
2016-08-30 07:01
yht4482
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-8-29
收藏
得分:0 
回复 3楼 mywisdom88
改后是这样
SQL("JDBC3", "SELECT  avg(VAL) FROM  " + $P1 + " WHERE (POINTID = 'YBPer1_tBlrMnStm_H.S') AND DUTYID = 3 AND CLOSED <>1 or  CLOSED is null AND DAY(ETIME)>=" + ($P3 - 10) + "  AND DAY(ETIME)<" + $P3, 1)

取值不对啊,哪错了,请帮助!!
2016-08-30 07:26
mywisdom88
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
以下是引用yht4482在2016-8-30 07:26:00的发言:

改后是这样
SQL("JDBC3", "SELECT  avg(VAL) FROM  " + $P1 + " WHERE (POINTID = 'YBPer1_tBlrMnStm_H.S') AND DUTYID = 3 AND CLOSED <>1 or  CLOSED is null AND DAY(ETIME)>=" + ($P3 - 10) + "  AND DAY(ETIME)<" + $P3, 1)

取值不对啊,哪错了,请帮助!!

select * from 表1 where closed<>1 or closed is null
是在SQL2000上运行的,你上面语句,是在那里运行的。
2016-08-30 08:34
mywisdom88
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
AND DUTYID = 3 AND CLOSED <>1 or  CLOSED is null AND
改为
AND DUTYID = 3 AND (CLOSED <>1 or  CLOSED is null) AND
2016-08-30 08:38
yht4482
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-8-29
收藏
得分:0 
我这个是统计满足条件的数据平均值,主要是WHERE 后面的部分,closed 列有1、0、和NULL。当为1时,不进行计算。CLOSED <>1 时少了为NULL部分数据,CLOSED is null 时少了为0部分的数据,
WHERE (POINTID = 'YBPer1_tBlrMnStm_H.S') AND DUTYID = 3 AND CLOSED <>1 or  CLOSED is null AND DAY(ETIME)>=" + ($P3 - 10) + "  AND DAY(ETIME)<" + $P3, 1)
(POINTID = 'YBPer1_tBlrMnStm_H.S') 为测点名,DUTYID为班组号,DAY(ETIME)>=" + ($P3 - 10) + "  AND DAY(ETIME)<" + $P3, 1)为日期范围,
2016-08-30 09:30
yht4482
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-8-29
收藏
得分:0 
回复 7楼 mywisdom88
谢谢!!!主要我太菜了!!
2016-08-30 09:31
mywisdom88
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
以下是引用yht4482在2016-8-30 09:31:24的发言:

谢谢!!!主要我太菜了!!

CLOSED <>1 or  CLOSED is null
这个条件是2者只要1个满足就可以,所以,当和其他的条件一起使用时,就要括号起来,重新组成1个条件,即
(CLOSED <>1 or  CLOSED is null)

select * from 表 where 条件1 and 条件2 and (CLOSED <>1 or  CLOSED is null) and 条件3
2016-08-31 08:58
快速回复:查询不等于1的数据。保留 NULL、0
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.134956 second(s), 12 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved