Search code examples
sqloracleoracle-adfjdeveloper

Display Manager name instead of Manager Id in Oracle ADF


Employees table contains -

 Employee_Id,
 Manager_Id,
 First_Name,
 Last_Name

I want to display manager name instead of id

LOV cannot be used

Current Query in VO:

   SELECT 
      Employees.EMPLOYEE_ID, 
      Employees.FIRST_NAME, 
      Employees.LAST_NAME, 
      JobObject.JOB_TITLE, 
      Employees.COMMISSION_PCT, 
      Departments.DEPARTMENT_NAME, 
      Departments.DEPARTMENT_ID, 
      JobObject.JOB_ID, 
      (First_Name||' '||Last_Name) AS VIEW_ATTR, 
      Employees.SALARY, 
      Employees.MANAGER_ID
 FROM EMPLOYEES Employees, 
      DEPARTMENTS Departments, 
      JOBS JobObject
WHERE Employees.DEPARTMENT_ID = Departments.DEPARTMENT_ID

Solution

  • I assume that you want to show Manager Name along with employee details. Is so then following query will be helpful.

      SELECT emp.EMPLOYEE_ID,
       emp.FIRST_NAME,
       emp.LAST_NAME,
       JobObject.JOB_TITLE,
       emp.COMMISSION_PCT,
       dept.DEPARTMENT_NAME,
       dept.DEPARTMENT_ID,
       JobObject.JOB_ID,
       (emp_manager.First_Name || ' ' || emp_manager.Last_Name) AS manager_name,
       emp.SALARY
     FROM EMPLOYEES emp
       JOIN DEPARTMENTS dept ON (emp.department_id = dept.department_id)
       JOIN JOBS JobObject ON (emp.job_id = JobObject.job_id)
       JOIN EMPLOYEES emp_manager ON( emp.manager_id = emp_manager.employee_id  )