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

高分简单统计

2012-08-26 
高分求一个简单统计表A:C1 C2 C31BA BB2WB BC3AB DS4EE FF5SD BD表B:C1 C2 C311 f21 s31 b---------------

高分求一个简单统计
表A:
C1 C2 C3
1 BA BB
2 WB BC
3 AB DS
4 EE FF
5 SD BD
表B:
C1 C2 C3
1 1 f
2 1 s
3 1 b
----------------------
以上表结构:要统计表A的数量,及表A中的C1在表B中不存在的数量:

要得到的结果.
5 2

这个SQL语句怎么写

[解决办法]

SQL code
SELECT (SELECT COUNT(*) FROM [表A]) '表A的数量', (SELECT COUNT(*) FROM [表B] WHERE NOT EXISTS (SELECT 1 FROM [表A] t WHERE t.[C1]=[C1])) '表A中C1不在表B的数量'
[解决办法]
SQL code
--联合查询方式select count(1) 数量1,    count(1)-count(B.C1) 数量2from Aleft join B on A.C1=B.C1;--或对数量2用case when 也可以
[解决办法]
探讨
引用:

SQL code

--联合查询方式
select count(1) 数量1,
count(1)-count(B.C1) 数量2
from A
left join B on A.C1=B.C1;
--或对数量2用case when 也可以

谢谢楼上二位
你的这个方式似乎是我想要的结果,麻烦再细说下CASE WHEN的方式?

热点排行