我必须在不使用任何 Oracle SQL 分析函数的情况下转换以下 SQL 查询:
`SELECT
last_name
,first_name
,from_date
,first_salary
,max_salary
FROM( SELECT
e.last_name,
e.first_name,
s.from_date,
RANK() OVER(PARTITIONby e.employee_id order BY s.from_date) rn,
s.salary AS first_salary,
MAX(s.salary) OVER (PARTITION BY e.employee_id) AS max_salary
FROM employees e
JOIN salaries s ON e.employee_id=s.employee_id
) t WHERE rn=1;`
下面的改造能好吗?
`SELECT e.last_name,
e.first_name,
min_d.FROM_DATE,
min_s.min_salary,
max_s.max_salary
FROM employees e,
(SELECT employee_id, MIN(SALARY) as min_salary FROM SALARIES GROUP BY
employee_id) min_s,
(SELECT employee_id, MAX(SALARY) as max_salary FROM SALARIES GROUP BY
employee_id) max_s,
(SELECT employee_id, min("FROM_DATE") as FROM_DATE FROM SALARIES GROUP BY
employee_id) min_d
where e.employee_id=min_s.employee_id and max_s.employee_id=e.employee_id
AND MIN_D.employee_id=e.employee_id;`