ADOQuery.SQL.Add('select count(ID) as C1,'+
'(select count(DQZK) from [TB1] where DQZK is not null) as C2,'+
'(select count(DQZK) from [TB1] where DQZK is null) as C3'+
'from [TB1] ');
ADOQuery.Open; DQZK字段里,有些是空白没有内容的。希望查询能分别得到总数量、DQZK空白的数量、DQZK不是空白的数量
'(select count(DQZK) from [TB1] where DQZK is not null) as C2,'+
'(select count(DQZK) from [TB1] where DQZK is null) as C3'+
'from [TB1] ');
ADOQuery.Open; DQZK字段里,有些是空白没有内容的。希望查询能分别得到总数量、DQZK空白的数量、DQZK不是空白的数量
解决方案 »
- 急求TDialup控件
- 用adoquery怎么样才能实现参数查询 出错 在线等待急
- Webbrowse中Cookie如何写?求知!
- 100分,求:有关dll的资料及例程~~~~~,不胜感激~~~~~~
- Delphi 2005发布!
- 请问大虾:怎样将EDIT编辑框中的字符和数字区分开来
- 各位帮忙看看读文件访问冲突的问题!
- 初学delphi想知道,对于一个string,如何对其中的每个char进行+3处理?谢谢!在线等待!!!
- 关于正弦余弦的问题
- 超级难题!!! (问题正确解答后给200分)
- 新人求教,有没办法让edit1跟随并覆盖DBGrid的某2-3个单元格的位置。
- 新人求教,delphi里的SQL 大于并等于 要怎么写。
ADOQuery.Filter := ' DQZK <> ''';
ADOQuery.Filtered := True;
然后ADOQuery.RecordCount是不为空的数量同理可得为空的
create table TB1(id int, DQZK varchar(10));
goinsert into TB1 select 1, null;
insert into TB1 select 2, 'abc';
insert into TB1 select 3, null;
insert into TB1 select 4, 'dd';
insert into TB1 select 5, 'dv';
go--测试代码
select C1 = sum(a) + sum(b), C2 = sum(a), C3 = sum(b)
from(
select a = case when dqzk is null then sum(1)end,
b = case when dqzk is not null then sum(1) end
from tb1 group by dqzk) a
----------- ----------- -----------
5 2 3(所影响的行数为 1 行)