【问题标题】:Query to display the the department names manager department name查询显示部门名称经理部门名称
【发布时间】:2021-06-20 02:15:30
【问题描述】:

我必须编写一个查询以从表中显示 Worker Department 及其 Manager Department。

一个部门不能自我管理,所有部门都应该与其经理部门一起显示一次。

这是 Employee 和 Department 表的架构:

Employees:

empno char[6]

firstname varchar[12]

lastname varchar[15]

workdept char[3]

job char[9]

Department:

deptno char[3]

deptname varchar[36]

mgrno char[6]

admrdept char [3]

location char[16]

我是不是因为做不到而错过了什么。

这是我期望的输出(工人部门和经理部门是别名):

Worker Dept.                            Manager Dept.
Administration Systems                  Development Center
Development Center                      Spiffy Computer Service
Information Center                      Spiffy Computer Service
Manufacturing Systems                   Development Center
Planning                                Spiffy Computer Service Div
Support Services                        Spiffy Computer Service Div

我试过了,但我找不到经理部门:

SELECT distinct d.deptname,  d.location , d.admrdept  
FROM Department d 
JOIN Employee e on d.deptno = workdept 

PS:我将第 3 列作为部门。根据上面查询的代码,我如何与部门名称建立连接。

【问题讨论】:

  • 请不要发布您的表格架构的图像,以文本形式发布。你也试过什么?
  • 您可以将您尝试过的查询和您期望的输出作为文本(而不是图像)发布吗?
  • @RakhiAgrawal 添加了详细信息。
  • mgrno和empno一样吗?

标签: sql tsql sql-server-2008


【解决方案1】:

根据给出的信息很难说,但我认为你想要:

select d.deptname as WorkerDept, md.deptname as ManagerDept
from Employee e
inner join Department d
   on (e.workdept = d.deptno)
inner join Department md
   on (d.admrdept = md.deptno)
where d.deptno != md.deptno

【讨论】:

  • 这很棒。只有一个问题,它显示了一个管理自己的部门。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-12-18
  • 2022-01-22
  • 1970-01-01
  • 1970-01-01
  • 2021-07-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多