CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  数据库相关

求一SQL语句...

楼主MinxSoft(梦想飞翔)2005-09-04 07:48:57 在 Delphi / 数据库相关 提问

有表T1,结构如下:  
  A       B  
  a1     0  
  a1     NULL  
  a2     NULL  
  a2     NULL  
   
  select   A,count(B)   from   T1  
  where   B=0  
  group   by   A  
  本想得到如下结果:  
  a1   1  
  a2   0  
  但不如意,只得到a1   1的结果,不知道怎么样才能得到想要的结果? 问题点数:20、回复次数:9Top

1 楼cncharles(旺仔)回复于 2005-09-04 08:08:37 得分 0

Select   A,   Count(B)   From   T1  
  Where   IsNull(B,   0)=0  
  Group   by   ATop

2 楼hr168(Ocb.Hr)回复于 2005-09-04 08:11:11 得分 0

这么写就ok了,但是不知道你的意思是什么,我只是猜测的,是不是null不计算条数啊,下面的语句就是这个意思:  
   
   
  select   A,count(B)   from   T1   group   by   A  
   
  Top

3 楼MinxSoft(梦想飞翔)回复于 2005-09-04 08:41:36 得分 0

感谢   cncharles(旺仔)   ,不过对于IsNull(B,   0)=0这一句不是很理解,当B为Null的时候,这句就是0=0,显然是成立的,但是既然条件为真,统计出来怎么还会是:  
  a1   1  
  a2   0  
  呢?Top

4 楼cncharles(旺仔)回复于 2005-09-04 09:10:23 得分 0

Select   A,   Count(IsNull(B,   0))   From   T1  
  Where   IsNull(B,   0)=0  
  Group   by   A  
   
  //如果B是null就把它转换为0Top

5 楼MinxSoft(梦想飞翔)回复于 2005-09-04 09:36:08 得分 0

我的意思其实是希望先Group   by,再计算whereTop

6 楼MinxSoft(梦想飞翔)回复于 2005-09-04 09:38:43 得分 0

就是先把字段A中的所有非重复值列出来以后,再计算B是否满足条件,看看满足条件的个数,就算没有满足条件的,也会返回0Top

7 楼cncharles(旺仔)回复于 2005-09-04 10:03:20 得分 0

Select   T1.A,   IsNull(T2.B2,   0)   As   B  
  From   T1  
  Left   Join   (  
  Select   A,   Count(B)   As   B2  
  From   T1  
  Where   B=0  
  Group   by   A   )   As   T2  
  On   T1.A=T2.A  
  Order   By   T1.A  
  Top

8 楼cncharles(旺仔)回复于 2005-09-04 10:24:16 得分 20

不好意思,   上面都没搞错了.下面的应该是你想要的.  
   
  Select   T2.A,   IsNull(T3.A1,   0)  
  From   (Select   A   From   T1   Group   by   A)   As   T2  
  Left   Join   (Select   A,   Count(A)   As   A1  
              From   T1   Where   B=0   Group   By   A)   As   T3  
  On   T2.A=T3.A  
  Order   by   T2.ATop

9 楼MinxSoft(梦想飞翔)回复于 2005-09-04 15:01:45 得分 0

晕倒,也不用怎么复杂吧,真的是先Group   by,然后再where,晕晕滴....Top

相关问题

  • 一SQL语句?
  • 一个SQL语句
  • 一个SQL语句?
  • 一条sql语句
  • 求一sql语句!
  • 求一sql语句!!
  • 求一sql语句
  • 求一 SQL语句
  • 求一SQL语句
  • 一个SQL语句!

关键词

  • null
  • isnull
  • from t1where
  • 计算
  • 意思
  • 满足条件
  • group
  • 结果
  • count
  • 就是

得分解答快速导航

  • 帖主:MinxSoft
  • cncharles

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo