当前位置: 首页 > 面试题库 >

自行加入以获取员工经理姓名

壤驷安和
2023-03-14
问题内容

您好,我有一个员工表,其中包含以下列

Emp_id, Emp_Name and Mgr_id.

我正在尝试创建一个将列出的视图

Emp_id, Emp_name, Mgr_id and Mgr_name(通过交叉连接Employee表)。我尝试了外部联接,内部联接等,但无法正确完成。

任何帮助都将受到高度赞赏。

CREATE TABLE [dbo].[tblEmployeeDetails](
[emp_id] [bigint] NOT NULL, 
[emp_name] [nvarchar](200) NULL,    
[emp_mgr_id] [bigint] NULL, CONSTRAINT [PK_tblEmployeeDetails] PRIMARY KEY CLUSTERED (
[emp_id] ASC )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY] ) ON [PRIMARY]

问题答案:
CREATE VIEW AS
SELECT e1.emp_Id EmployeeId, e1.emp_name EmployeeName, 
       e1.emp_mgr_id ManagerId, e2.emp_name AS ManagerName
FROM   tblEmployeeDetails e1
       JOIN tblEmployeeDetails e2
       ON e1.emp_mgr_id = e2.emp_id

编辑 :如果emp_mgr_id为null,则左联接将起作用。

CREATE VIEW AS 
SELECT e1.emp_Id EmployeeId, e1.emp_name EmployeeName,  
       e1.emp_mgr_id ManagerId, e2.emp_name AS ManagerName 
FROM   tblEmployeeDetails e1 
       LEFT JOIN tblEmployeeDetails e2 
       ON e1.emp_mgr_id = e2.emp_id


 类似资料:
  • 我试图用SQL编写一个查询,从同一个“employee”表中返回员工的姓和经理的姓。每个员工都有一个employeeid和一个“reportsto”列,其中包含其经理的employeeid。 这是我目前为止返回第一部分的内容(员工的姓和报告对象的id) 这个返回 我不知道如何将“reports”取下来,抓取它对应的employeeid,然后添加经理员工的姓,并将其添加到同一个记录中。 所以表应该是

  • 我们有一个emp表,其中包含empno、ename、job、mgr、hiredate、sal、comm、deptno列 我试过了 我的输出是每个值为1的经理的姓名我们如何输出员工最多的经理的姓名?

  • 我试图选择一个拥有最年长员工的经理的名字和姓氏,但是我遇到了一些问题,因为每当我运行这个: 因为where子句设置为查找所有员工,所以它返回所有员工,如果我将其更改为manager,则返回所有经理。我理解为什么会这样,但我真的不知道如何解决我的问题。 我希望结果集返回经理的名字和姓氏以及他们最年长的员工的日期。 我觉得这与我的表是如何设置的无关,因为在我的情况下我无法更改它们,更重要的是我如何编写

  • 进入员工页面,点击上方“邀请员工”按钮。 邮箱邀请 •点击“新建邀请链接”,输入邀请名称,选择“通过企业邮箱验证”。并为邀请员工设置部门、常驻城市信息 • 同一个邀请支持多个企业邮箱,通过邮箱邀请加入的员工无须审核。 二维码&链接邀请(PC、手机端均适用) •点击“新建邀请链接”,输入邀请名称,选择“管理员人工审核”。并为邀请员工设置部门、常驻城市信息。员工接受邀请后,需经您审核,通过后方可正式加

  • 我有一个表员工与字段部门,员工和工资。我想要一个查询,以列出部门最高工资和该工资的员工姓名。 我知道这很简单。我在谷歌上搜索,但找到了这样的答案,只列出了部门和工资

  • 我需要从用户处读取输入的工资,然后使用文本文件中的数字格式对象打印工资超过指定值的员工的姓名(姓氏必须为大写字母)。如果输入的薪资小于100,则打印消息“薪资必须大于100”;如果输入的薪资大于文件中的薪资,则打印消息“没有员工拥有此薪资” 文本文件名employee.text包含员工姓名、城市、部门、工资和日期 卡尔·约翰逊巴黎制作900 2000年7月20日 Wiley Cyrus伊斯坦布尔采