MySQL Advanced Select1

Amber集团公司刚刚收购了一些新公司。每个公司都遵循这样的层次结构:

 

 

 

 

 

 

 

数据保存在如下的表中:

  • Company:company_code为公司的代码,founder为公司的创始人
  • Lead_Manager:lead_manager_code为牵头经理的代码,company_code为其所在公司代码
  • Senior_Manager:senior_manager_code为高级经理的代码,lead_manager_code为其领导牵头经理的代码,company_code为其所在公司代码
  • Manager:
  • Employee:

查询打印出company_code,创始人名称,lead_manager人数,senior_manager人数,manager人数,employee人数,按company_code正序排列。

查询语句如下:

SELECT DISTINCT
c.company_code,
c.founder,
count(DISTINCT l.lead_manager_code),
count(DISTINCT s.senior_manager_code),
count(DISTINCT m.manager_code),
count(DISTINCT e.employee_code)
FROM company c, lead_manager l, senior_manager s, manager m, employee e
WHERE c.company_code = l.company_code
AND l.lead_manager_code = s.lead_manager_code
AND s.senior_manager_code = m.senior_manager_code
AND m.manager_code = e.manager_code
GROUP BY c.company_code, c.founder
ORDER BY company_code ASC;
posted @ 2017-10-13 14:20  bloveice0915  阅读(333)  评论(0编辑  收藏  举报