我的查询就像
SELECT e.emp_name, d.dept_name, s.salary
FROM employes e
JOIN departments d
ON e.dept_id = d.dept_id
JOIN salary s
ON e.emp_id = s.emp_id
AND e.emp_id NOT IN (SELECT emp_id
FROM salary s
ORDER BY salary DESC
LIMIT 2)
ORDER BY salary DESC
LIMIT 1
我收到了这个错误...
[Err] 1235 - This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
答案 0 :(得分:1)
您可以切换为left outer join
:
SELECT e.emp_name, d.dept_name, s.salary
FROM employes e JOIN
departments d
ON e.dept_id = d.dept_id JOIN
salary s
ON e.emp_id = s.emp_id LEFT OUTER JOIN
(SELECT emp_id
FROM salary s
ORDER BY salary DESC
LIMIT 2
) s2
on e.emp_id = s2.emp_id
WHERE s2.emp_id IS NULL
ORDER BY salary DESC
LIMIT 1;