Я работаю над Oracle БД с Oracle SQL Разработчиком. У меня есть два запроса. Мне нужно изменить Query # 1, чтобы он извлекал данные демографического адреса c из Query # 2. Я считаю, что мне нужно вставить Query # 2 в Query # 1, чтобы это был ссылочный подзапрос. Запрос № 2 выбирает данные из таблицы ADDRESS_EFF_DATE, в которой хранятся записи демографических адресов. У него есть запись для каждого изменения сотрудником своего адреса, а в столбце EFF_DATE отображается дата записи. Мне нужно получить самые последние данные, таким образом, подзапрос. Я не уверен, как это сделать.
Запрос № 1
SELECT cd.ONECODE as "Client One Code"
,cs.REAL_SSN as "Employee SSN"
,cs.REAL_SSN as "Member SSN"
,'Subscriber' as "Person Type"
,eed.LAST_NAME as "Last Name"
,eed.FIRST_NAME as "First Name"
,eed.BIRTHDATE as MemberDOB
,eed.SEX as MemberGender
,aed.Address_1 as AddressLine1
,aed.Address_2 as AddressLine2
,aed.City
,aed.State
,aed.Zip as ZipCode
,aed.Country as CountryCode
,aed.Telephone as HomeNumber
,eed.EMAIL_ADDRESS as "Employee Emaill Address"
,eed.EFF_DATE as "Date Last Actively at Work"
,eed.LATEST_HIRE_DATE as "Employee Date of Hire"
,eed.LAST_TERM_DATE as "Employee Date of Termination"
,mcemd.RATE_1 as "Employee Salary"
/*,MV_COMB_EMP_MAX_DTS.RATE_1 as "Employee Salary"*/
FROM
EMPLOYEE_EFF_DATE eed
INNER JOIN ADDRESS_EFF_DATE aed
ON eed.ssn = aed.ssn
INNER JOIN COMP_SSN cs
ON cs.ssn = eed.ssn
INNER JOIN COMPANY_DETAIL cd
ON eed.P_COMPANY_ID_I = cd.COMPANY_ID
INNER JOIN COMPANY_EMPLOYMENT_DATA ced
ON eed.SSN = ced.SSN
INNER JOIN MV_COMB_EMP_MAX_DTS mcemd
ON eed.SSN = mcemd.SSN
WHERE eed.P_COMPANY_ID_I = 4029
AND aed.ADDRESS_KEY = 0
Запрос № 2
SELECT aed.EFF_DATE
,aed.SSN
,aed.ADDRESS_KEY
,aed.Address_1 as AddressLine1
,aed.Address_2 as AddressLine2
,aed.City
,aed.State
,aed.Zip as ZipCode
,aed.Country as CountryCode
,aed.Telephone as HomeNumber
FROM ADDRESS_EFF_DATE aed
INNER JOIN (
SELECT SSN, ADDRESS_KEY, MAX(EFF_DATE) Eff_Date
FROM ADDRESS_EFF_DATE
GROUP BY SSN, ADDRESS_KEY
) aed2 ON aed.SSN = aed2.SSN AND aed.EFF_DATE = aed2.Eff_Date