+ -
当前位置:首页 → 问答吧 → 一条SQL的查寻语句有问题,麻烦下。

一条SQL的查寻语句有问题,麻烦下。

时间:2011-12-03

来源:互联网

表:
区域 新建类型

崇州 共址新建1800
崇州 共址新建1800
崇州 共址新建1800
天河 共址新建900

我想查出“区域”为崇州的“新建类型”为“共址新建900”计数,根据上面可以看出,没有共址新建900的,结果是空。

我想的是,如果为空的,值就等于0,应该怎么写呢?

我的语句是:

select 区域,count(新建类型) 
from 宏站
where 区域='崇州' and 新建类型='共址新建900'
group by 区域

作者: sxssg   发布时间: 2011-12-03

http://topic.csdn.net/u/20111109/19/fcda984a-500a-4472-8162-4058d5b129ba.html

作者: p2227   发布时间: 2011-12-03

是要这个意思的吗?
SQL code
create table tb(区域 varchar(10),新建类型 varchar(20))
insert into tb select '崇州','共址新建1800'
insert into tb select '崇州','共址新建1800'
insert into tb select '崇州','共址新建1800'
insert into tb select '天河','共址新建900'
go
select a.新建类型,sum(case when b.区域 is null then 0 else 1 end)ct
from(
select distinct 新建类型 from tb
)a left join tb b on a.新建类型=b.新建类型 and b.区域='崇州'
group by a.新建类型
/*
新建类型                 ct
-------------------- -----------
共址新建1800             3
共址新建900              0

(2 行受影响)

*/
go
drop  table tb

作者: qianjin036a   发布时间: 2011-12-03

怎么样加分、!~~!

作者: Start258   发布时间: 2011-12-03

引用 3 楼 start258 的回复:

怎么样加分、!~~!


加什么分?

作者: qianjin036a   发布时间: 2011-12-03

SQL code

if object_id('tb') is not null
   drop table tb
go
create table tb
(
 区域 varchar(10),
 新建类型 varchar(100)
)
go
insert into tb
select '崇州','共址新建1800' union all
select '崇州','共址新建1800' union all
select '崇州','共址新建1800' union all
select '天河','共址新建900'
go
select '崇州',sum(case when 区域='崇州' and 新建类型='共址新建900' then 1 else 0 end) from tb
go
/*
---- -----------
崇州   0

(1 行受影响)

*/

作者: pengxuan   发布时间: 2011-12-03

热门下载

更多