I have two tables.
DEPARTMENT (TABLE)
DEPTID NUMBER(38)
NAME CHAR(20)
RANK NUMBER(38)
EMPLOYEE (TABLE)
EMPID NUMBER(38)
DEPTID NUMBER(38)
NAME CHAR(40)
AGE NUMBER(38)
SALARY NUMBER(38)
And I am trying to run following query, which is continuously throwing error. The query is to update Rank in Department table based on the Average age of employees in every department.
UPDATE d
SET d.rank = T.rank
FROM department d
INNER JOIN
(SELECT
rownum as rank, age, deptId
FROM
(SELECT
AVG(age) AS age, deptid
FROM employee
GROUP by deptId
ORDER BY age DESC)) AS T ON T.deptId = d.deptId;