首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

高手请帮忙解决一个查询有关问题

2012-01-19 
高手请帮忙解决一个查询问题数据表A中有如下数据:idzt111211212122223132数据表B中有如下数据:idmc1A12A23

高手请帮忙解决一个查询问题
数据表A中有如下数据:
id         zt      
1           1
1           2
1           1
2           1
2           1
2           2
2           2
3           1
3           2
数据表B中有如下数据:
id         mc      
1           A1
2           A2
3           B

我现在需要根据输入的mc来搜索出相应mc在表A中状态为1的总条数和A中的所有条数,以A1为例,应该得到如下结果:A1     2(状态为1的)     3(所有的),我想知道怎样用一条语句实现

[解决办法]
select mc,sum(case when zt=1 then 1 end),Count(zt)
from a inner join b on a.id=b.id
where mc= 'A1 '
group by mc
[解决办法]
select b.mc,
sum(case when a.zt=1 then 1 else 0 end) as [状态为1的],
sum(1) as [所有的]
from a,b
where a.id=b.id
and b.mc= 'A1 '
group by b.mc
[解决办法]
select b.mc,
sum(case when a.zt=1 then 1 else 0 end) as [状态为1的],
count(1) as [所有的]
from a,b
where a.id=b.id
and b.mc= 'A1 '
group by b.mc

热点排行