首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >两次使用同一列选择或联接

两次使用同一列选择或联接
EN

Stack Overflow用户
提问于 2021-02-24 18:15:54
回答 1查看 314关注 0票数 1

所以我有三张桌子:雇员,秘书和经理

给定模式

Employee表有以下列:

  • Employee_Number
  • Name
  • Home Address
  • Telephone数

Secretary表包含:

  • Secretary_Number
  • Employee_Number (将外键链接到员工table)
  • Manager_Number (与外键链接到Manager表)

Manager表包含:

  • Manager_Number
  • Employee_Number (将外键链接到Employee表)

什么是必需的,什么是我尝试的

我正在尝试做一个连接,这样我就可以看到以下列:

Number

  • Secretary's Name

  • Manager's Number

  • Manager's
  • 秘书的名字

我有以下join语句,它显示所有列,并显示秘书的姓名和编号以及Manager编号

代码语言:javascript
复制
SELECT
  SECRETARY.SECRETARY_NUMBER, 
  SECRETARY.EMPLOYEE_NUMBER AS SECRETARY_EMPLOYEE,
  EMPLOYEE.NAME AS SECRETARY_NAME,
  SECRETARY.MANAGER_NUMBER, 
  MANAGER.EMPLOYEE_NUMBER AS MANAGER_EMPLOYEE,
  EMPLOYEE.NAME AS MANAGER_NAME
FROM SECRETARY, MANAGER, EMPLOYEE
WHERE SECRETARY.MANAGER_NUMBER = MANAGER.MANAGER_NUMBER
AND SECRETARY.SECRETARY_NUMBER = EMPLOYEE.EMPLOYEE_NUMBER
AND MANAGER.EMPLOYEE_NUMBER = EMPLOYEE.EMPLOYEE_NUMBER;

问题

但我不能让经理的名字出现,也不能重复秘书的名字。

任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-24 18:23:51

代码语言:javascript
复制
SELECT
  s.SECRETARY_NUMBER, 
  s.EMPLOYEE_NUMBER AS SECRETARY_EMPLOYEE,
  e.NAME AS SECRETARY_NAME,
  s.MANAGER_NUMBER, 
  m.EMPLOYEE_NUMBER AS MANAGER_EMPLOYEE,
  e2.NAME AS MANAGER_NAME
FROM 
  SECRETARY s
INNER JOIN
  EMPLOYEE e
ON
  e.EMPLOYEE_NUMBER = s.EMPLOYEE_NUMBER
INNER JOIN
  MANAGER m
ON
  m.EMPLOYEE_NUMBER = s.MANAGER_NUMBER
INNER JOIN
  EMPLOYEE e2
ON
 e2.EMPLOYEE_NUMBER = m.EMPLOYEE_NUMBER;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66356598

复制
相关文章

相似问题

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