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

统计分析 sql 话语

2013-09-04 
统计分析 sql 语句有两个表 客户表:客户ID联系人所属职员1LAZA2LBZA3LCZB4LDZC订单表:订单号客户ID订单日

统计分析 sql 语句
有两个表 

客户表:
客户ID  联系人  所属职员
1         LA      ZA
2         LB      ZA
3         LC      ZB
4         LD      ZC

订单表:
订单号  客户ID  订单日期
1       1          20130101
2       1          20130102
3       3          20130101

我想统计下 每个职员有多少个客户下过订单
ZA    1
ZB    1

sql语句该怎么写
[解决办法]


create table 客户表
(客户ID int, 联系人 varchar(10), 所属职员 varchar(10))

insert into 客户表
 select 1, 'LA', 'ZA' union all
 select 2, 'LB', 'ZA' union all
 select 3, 'LC', 'ZB' union all
 select 4, 'LD', 'ZC'

create table 订单表
(订单号 int, 客户ID int, 订单日期 varchar(10))

insert into 订单表
 select 1, 1, '20130101' union all
 select 2, 1, '20130102' union all
 select 3, 3, '20130101'


select b.所属职员 '职员',count(distinct a.客户ID) '客户数'
 from 订单表 a
 inner join 客户表 b on a.客户ID=b.客户ID
 group by b.所属职员
 
/*
职员         客户数
---------- -----------
ZA         1
ZB         1

(2 row(s) affected)
*/

[解决办法]
SELECT A.所属职员, cnt=COUNT(distinct B.客户ID)
FROM 客户表 a


INNER JOIN 订单表 b
ON a.客户ID = b.客户ID
GROUP BY A.所属职员

热点排行