mysql - 如何使用一列的值来检查另一行的值?
问题描述
我必须创建一个视图,显示受女性主管监督的员工的员工信息。我必须显示 EMP_NUM、EMP_TITLE、EMP_FNAME、EMP_LNAME 以及经理的员工编号、姓氏和头衔。
我尝试的代码只为我提供了 Lewis 的经理信息。
下面是 EMP 表的图片。 空表
CREATE VIEW empSalary AS
SELECT EMP_NUM007, EMP_TITLE, EMP_FNAME, EMP_LNAME, EMP_MGR,
(SELECT EMP_LNAME FROM EMP WHERE EMP_NUM007 = EMP_MGR),
(SELECT EMP_TITLE FROM EMP WHERE EMP_NUM007 = EMP_MGR)
FROM EMP
GROUP BY EMP_NUM007;
解决方案
您需要在表上进行自联接:
select
e.emp_num, e.emp_title, e.emp_fname, e,emp_lname,
m.emp_num, m.emp_title, m.emp_fname, m.emp_lname
from emp e inner join emp m
on m.emp_num007 = e.emp_mgr
where m.emp_title = 'Mrs.'
推荐阅读
- html - 将样式化的 HTML 表格粘贴到 Microsoft Word 中的问题
- git - 获取旧版本代码并创建新分支后,无法理解 git 的消息
- javascript - Javascript代码无法在Django模板中使用模板继承
- c - 从 float 转换为 double 并返回到 float(未优化)是否保证返回相同的值?
- javascript - vue.js 中的 Intersection Observer 问题
- javascript - 如何以 JSON 格式下载带有 blob 的 VUEX 商店
- javascript - JavaScript 以 (() => { 开头并以 })() 结尾
- google-apps-script - Google Apps Script V8 引擎是否支持 Promise?
- if-statement - 为什么使用三元运算符会出错?
- r - 在R中的一个因子中应用一长串标签