0
select *
from (
select distinct
papf.employee_number
, papf.full_name/*, pap.name*/
, pg.name "Grade"
, MAX(pap.creation_date) AS "Maximum Date"
, MIN(pap.creation_date) AS "Minimum Date"
, CASE WHEN max(pap.creation_date) = (pap.creation_date)
THEN pap.name
ELSE null END AS "New Position"
, CASE WHEN min(pap.creation_date) = (pap.creation_date)
THEN pap.name
ELSE null END AS "Old Position"
from per_all_positions pap
, per_all_assignments_f paaf
, per_all_people_f papf
, per_grades pg
where paaf.position_id = pap.position_id
and paaf.person_id = papf.person_id
and paaf.grade_id = pg.grade_id
and papf.employee_number = 00871
and papf.effective_end_date = '31-DEC-4712'
and pg.name IN ('SVP', 'EVP I', 'EVP II', 'SEVP I', 'SEVP II')
--and paaf.effective_end_date = '31-DEC-4712'
group by papf.employee_number
, papf.full_name
, pap.name
, pg.name
, pap.creation_date
)
EMPLOYEE_NUMBER FULL_NAME Grade Maximum Date Minimum Date New Position Old Position
1 00871 Mr. Tahir Mahmood Afzal Raja SVP 4/9/2014 3:44:22 PM 4/9/2014 3:44:22 PM Area Manager.1.MBL - Area Office Islamabad II Area Manager.1.MBL - Area Office Islamabad II
2 00871 Mr. Tahir Mahmood Afzal Raja SVP 7/24/2013 9:57:35 AM 7/24/2013 9:57:35 AM Branch Manager.1.MBL - Bahria Town Branch, Rawalpindi Branch Manager.1.MBL - Bahria Town Branch, Rawalpindi
が、それは新しい示しており、 2行の古いポジション とそれを繰り返すので、私が欲しいものをする方法を教えてください?このクエリ はoracle HRMSであり、PL/SQL開発者で書かれています。は、私は、Oracle HRMSでの作成日付に関して2列の「新しい位置」と「オールド・ポジション」としてではなく一列に位置名前を表示したいあなたは出力を見ることができるように
ありがとう。それは完璧に動作します! – Asad