This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
kurs:sets_gruppenoperatoren [2011/10/28 11:14] mh |
kurs:sets_gruppenoperatoren [2014/09/10 21:22] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | <code> | ||
+ | select employee_id, | ||
+ | first_name, | ||
+ | last_name, | ||
+ | department_id, | ||
+ | job_id, | ||
+ | hire_date, | ||
+ | start_date, | ||
+ | end_date, | ||
+ | status | ||
+ | from ( | ||
+ | select employee_id, | ||
+ | first_name, | ||
+ | last_name, | ||
+ | department_id, | ||
+ | job_id, | ||
+ | hire_date, | ||
+ | (select max(end_date)+1 from job_history | ||
+ | where employee_id = employees.employee_id) | ||
+ | start_date, | ||
+ | null end_date, | ||
+ | 'aktuell' status, | ||
+ | 1 zeit | ||
+ | from employees | ||
+ | union | ||
+ | select h.employee_id, | ||
+ | first_name, | ||
+ | last_name, | ||
+ | h.department_id, | ||
+ | h.job_id, | ||
+ | hire_date, | ||
+ | start_date, | ||
+ | end_date, | ||
+ | 'historisch', | ||
+ | 0 zeit | ||
+ | from job_history h join employees e | ||
+ | on h.employee_id = e.employee_id | ||
+ | ) o | ||
+ | where employee_id = 176 | ||
+ | order by employee_id, | ||
+ | zeit, | ||
+ | start_date | ||
+ | </code> | ||
+ | |||
+ | |||
+ | <code> | ||
+ | select status, | ||
+ | job_id, | ||
+ | first_name, | ||
+ | last_name, | ||
+ | coalesce(start_date, | ||
+ | (select max(end_date)+1 | ||
+ | from job_history where employee_id = fe.employee_id), | ||
+ | hire_date) start_date, | ||
+ | end_date | ||
+ | from ( | ||
+ | SELECT 'H' status, | ||
+ | employees.employee_id, | ||
+ | JOB_HISTORY.job_id, | ||
+ | EMPLOYEES.FIRST_NAME, | ||
+ | EMPLOYEES.LAST_NAME, | ||
+ | hire_date, | ||
+ | start_date, | ||
+ | end_date | ||
+ | FROM EMPLOYEES , JOB_HISTORY | ||
+ | WHERE ( (EMPLOYEES.EMPLOYEE_ID = JOB_HISTORY.EMPLOYEE_ID) ) | ||
+ | union | ||
+ | select 'A', | ||
+ | employees.employee_id, | ||
+ | job_id, | ||
+ | first_name, | ||
+ | last_name, | ||
+ | hire_date, | ||
+ | null, | ||
+ | null | ||
+ | from employees | ||
+ | ) fe | ||
+ | --where last_name = 'Kochhar' | ||
+ | order by last_name, first_name, start_date | ||
+ | </code> | ||
+ | |||
<code> | <code> | ||
select * from | select * from | ||
Line 101: | Line 182: | ||
</code> | </code> | ||
+ | |||
+ | <code> | ||
+ | select status, | ||
+ | job_id, | ||
+ | first_name, | ||
+ | last_name, | ||
+ | coalesce(start_date, | ||
+ | (select max(end_date)+1 | ||
+ | from job_history where employee_id = fe.employee_id), | ||
+ | hire_date) start_date, | ||
+ | end_date | ||
+ | from ( | ||
+ | SELECT 'H' status, | ||
+ | employees.employee_id, | ||
+ | JOB_HISTORY.job_id, | ||
+ | EMPLOYEES.FIRST_NAME, | ||
+ | EMPLOYEES.LAST_NAME, | ||
+ | hire_date, | ||
+ | start_date, | ||
+ | end_date | ||
+ | FROM EMPLOYEES , JOB_HISTORY | ||
+ | WHERE ( (EMPLOYEES.EMPLOYEE_ID = JOB_HISTORY.EMPLOYEE_ID) ) | ||
+ | union | ||
+ | select 'A', | ||
+ | employees.employee_id, | ||
+ | job_id, | ||
+ | first_name, | ||
+ | last_name, | ||
+ | hire_date, | ||
+ | null, | ||
+ | null | ||
+ | from employees | ||
+ | ) fe | ||
+ | --where last_name = 'Kochhar' | ||
+ | order by last_name, first_name, end_date | ||
+ | </code> | ||
+ |