使用MySQL的子查询和GROUP BY子句来实现此目的。
示例代码如下:
SELECT e.employee_id, e.name, e.department, s.status_id, s.status_date FROM employees e INNER JOIN status s ON e.employee_id = s.employee_id INNER JOIN (SELECT employee_id, MAX(priority) AS max_priority FROM status GROUP BY employee_id) m ON s.employee_id = m.employee_id AND s.priority = m.max_priority ORDER BY e.employee_id;
该查询通过INNER JOIN将两个表employees and status连接起来,然后使用子查询来获取每个员工拥有的具有最大优先级的状态行(基于status表中的优先级列)。这个子查询使用GROUP BY子句来分组,以便每个员工都只有一行数据。最后,使用ORDER BY子句按员工ID排序。