Skip to content
Advertisement

Oracle SQL combining table information and creating output

I have two tables in Oracle SQL developer and I am trying to figure out how to display “fname, ssn” and the employees corresponding manager “fname, snn”. Below are the tables that I have created but I cant seem to get the employee information to correspond to their subsequent manager.

Employee Table

| EMPLOYEE# | FNAME | LNAME | SNN  | DEPARTMENT_NAME | JOB_TITLE |
| 1         | jim   | box   |  11  | accounting      | person    |
| 2         | james | boer  |  22  | IT              | manager   |
| 3         | tom   | jo    |  33  | IT              | person    |
| 4         | tim   | quo   |  44  | accounting      | manager   |

Department Table

| MANAGER_EMPLOYEE# | DEPARTMENT_NAME |
| 2                 | IT              |
| 4                 | accounting      |

Desired Output

| EMPLOYEE NAME  | Employee SSN | MANAGER NAME | MANAGER SSN |
| jim box        | 11           | james boer   |  22         |
| tom jo         | 33           | tim quo      |  44         |

This is what I have so far. It just to show the employee info and manager# as I am not sure how to actually get it to link to a managers name then display as what I want for output

select employee#, fname, lname, employee.department_name, manager_employee# from employee left outer join department on employee.employee# = department.manager_employee#
union
select employee#, fname, lname, employee.department_name, manager_employee# from employee right outer join department on employee.employee# = department.manager_employee#;

Advertisement

Answer

Looks like you need this:

select 
  emp.employee#, 
  emp.fname, 
  emp.lname, 
  emp.snn,
  emp.department_name, 
  dep.manager_employee#,
  man.fname as manager_fname,
  man.lname as manager_lname
from 
    employee emp
    left join department dep
        on emp.department_name = dep.department_name
    left join employee man
        on dep.manager_employee# = man.employee#;
User contributions licensed under: CC BY-SA
8 People found this is helpful
Advertisement