我需要一个查询,其中将显示以下行:
first_name last_name dept_no hire_date from_date
----------------------------------------------------------
Jianwen Schiper d004 1986-10-17 1986-10-17
Sanjiv Zschoche d004 1986-10-17 1986-10-17
Moty Winter d004 1991-04-28 1991-04-28
Zhilian Ranst d004 1991-04-28 1991-04-28
Jaewoo Yoshimura d004 1991-04-28 1991-04-28
Herbert Zizka d005 1985-03-21 1985-03-21
Arno Luke d005 1985-03-21 1985-03-21
Muzhong Shokrollahi d007 1985-09-05 1985-09-05
Isaac Bael d007 1985-09-05 1985-09-05
Mani Cannata d007 1989-06-21 1989-06-21
Lidong Tomescu d007 1989-06-21 1989-06-21
Taizo Kitsuregawa d007 1991-09-03 1991-09-03
Bodo Tagansky d007 1991-09-03 1991-09-03
简而言之,我需要在同一日期被同一部门雇用的员工。
以下查询为我提供了他们的第一部门及其雇用日期的雇员:
select first_name, last_name, dept_no, hire_date, from_date
from employees join dept_emp using(emp_no)
where hire_date = from_date
order by hire_date, dept_no
我需要将在同一日期被同一部门录用的那些人分开。我尝试了太多查询,但无法获得所需的信息。
在此先感谢您的帮助,对不起,英语不好。
最佳答案
如果您只想查看一起雇用的员工,则可以订购结果:
select first_name, last_name, dept_no, hire_date, from_date
from employees join
dept_emp
using (emp_no)
order by dept_no, hire_date;
如果您希望至少雇用两名员工的日期(以及该日期的员工):
select first_name, last_name, dept_no, hire_date, from_date
from employees e join
dept_emp d
using (emp_no)
where exists (select 1
from employees e2
where e2.dept_no = e.dept_no and
e2.hire_date = e.hire_date and
e2.emp_no <> e.emp_no
)
order by dept_no, hire_date;
关于mysql - MySQL-多列中具有相同值的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41612838/