连接两个复杂的MySQL查询



我有两个复杂的查询,我需要做一个内部连接,我不能得到正确的格式。

第一个查询查看列出每个部门经理的表。因为表保存了每个的历史记录。改变,我想只保留每个部门的经理与最新的from_date .

部门经理表如下:

SELECT a.* 
FROM
(SELECT d1.emp_no , d1.dept_no
FROM dept_manager d1
JOIN 
(SELECT dept_no, MAX(from_date) AS Lastdate 
FROM dept_manager 
GROUP BY dept_no) d2 ON d1.from_date = d2.Lastdate  
AND d1.dept_no = d2.dept_no) AS a;

表如下:

<表类>列出dept_nofrom_dateto_datetbody><<tr>110022d0011985-01-011991-10-01110039d0011991-10-019999-01-01110085d0021984-01-011989-12-17110114d0021989-12-179999-01-01
SELECT COUNT(salary),t1.emp_no,dept_no FROM salary t1
JOIN manager t2 ON t1.emp_no=t2.emp_no
GROUP BY t1.emp_no

给你SIM卡。因为你的日期有些时候是9999年,所以做avg是很奇怪的。

如果我理解你的问题(当前工资的平均工资)。下面是一个例子:https://www.db-fiddle.com/f/47iAMRgXRAGgg34gFG58JD/0

但是,这对当前表不起作用,因为表中没有最新员工的工资。

最新更新