首页 > 解决方案 > 如何使用一列的值来检查另一行的值?

问题描述

我必须创建一个视图,显示受女性主管监督的员工的员工信息。我必须显示 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;

标签: mysqlview

解决方案


您需要在表上进行自联接:

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.'

推荐阅读