【发布时间】:2018-03-09 07:41:53
【问题描述】:
我已经从 MySQL(Test DB) 安装了 TestDB,我想做一些基本的查询。其中之一是:把每个员工的工资还给我。薪水表包含员工曾经拥有的每个薪水的列表,其中包含从开始到截止日期。我只想要新闻工资,所以“from_date”最高的那个。我已经设法将两张桌子一起Join,并且我已经设法将每个员工的最高薪水与他们的员工编号一起返还给我。但我不能让他们在一起。我在网上什么也没找到。可能我只是不知道要搜索什么。
不管怎样,这就是我想出的:
为每个emp_no选择最高薪水:
select emp_no, max(from_date) from salaries group by emp_no
为每个员工选择最高薪水并将其与其他数据结合起来(这个不起作用):
select * from employees e
LEFT JOIN salaries s
ON e.emp_no = s.emp_no
where s.from_date=(select max(from_date) from salaries group by emp_no);
这是 EER:
【问题讨论】:
-
你想要什么,最高工资还是最近工资?
-
@TimBiegeleisen 我想要最近的薪水。
from_date最高的那个。
标签: mysql select subquery left-join