首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >尝试使用连接查询将来自三个不同表的信息绑定到一个表中

尝试使用连接查询将来自三个不同表的信息绑定到一个表中
EN

Stack Overflow用户
提问于 2013-06-14 02:00:52
回答 1查看 121关注 0票数 0

因此,我有三个查询,我正在尝试连接所有部门名称字段,但我不知道如何在它们上进行连接。下面的每个查询都会给出我正在查找的一些或部分信息,但我希望将这些信息按部门合并到一个表中。第一张表为:(部门合计员工数)`

代码语言:javascript
运行
复制
    select d.name, count(*)
    from employee e join department d
    on e.dept_id = d.dept_id
    group by d.name;

`这给了我这样的结果:

管理3

贷款1

操作14

第二个是:`

代码语言:javascript
运行
复制
    select d.name, m.emp_id
    from employee e join employee m
    on e.superior_emp_id = m.emp_id
    join department d
    on d.dept_id = e.dept_id
    group by d.name, m.emp_id;

`这给了我这个(经理的id号码,以及他们在哪个部门工作)

操作3

贷款4

操作6

操作10

操作13

操作4

操作16

管理1

我的第三个表:`

代码语言:javascript
运行
复制
    select d.name, b.city
    from employee e join branch b
    on e.assigned_branch_id = b.branch_id
    join department d
    on d.dept_id = e.dept_id
    group by d.name, b.city;

`这给了我这样的结果:

管理Waltham

操作Waltham

运营Woburn

Loans Waltham

操作Quincy

运营Salem

我想要一个表,它只给我合计按部门(行政,贷款,运营)的员工(第一个表),经理(总经理管理每个部门的员工)和多少不同的分支机构位置每个部门位于。因此,查询应该返回部门|员工计数|位置计数|经理计数,以及每个部门各自的合计。

我正在尝试弄清楚如何对此执行连接查询。任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2013-06-14 06:16:09

通过使用子选择,您应该能够获得所需的结果

代码语言:javascript
运行
复制
SELECT 
    d.Name AS Dept
   ,(SELECT COUNT(*)
    FROM Employee e
    WHERE e.dept_id = d.dept_id ) AS StaffCount
   ,(SELECT COUNT(*)
    FROM Employee e 
    JOIN Branch b ON e.assigned_branch_id = b.branch_id
    WHERE e.dept_id = d.dept_id GROUP BY b.city) AS LocationCount
   ,(SELECT COUNT(*)
    FROM Employee e
    JOIN Employee m ON e.superior_emp_id = m.emp_id
    WHERE e.dept_id = d.dept_id GROUP BY m.emp_id) AS ManagerCount
 FROM department d
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17093946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档