У меня есть таблица людей и таблица их адресов. У человека может быть несколько адресов, но к каждому адресу прикреплена дата вступления в силу.
Я хочу связать людей и адреса с их наиболее эффективной датой вступления в силу, и я застрял с моим запросом, прикрепленным ниже. Я получаю только максимальную эффективную дату во всей таблице. Обратите внимание, что это RPG, поэтому даты хранятся в виде чисел, например, сегодня будет 20180831 в формате ГГГГММДД (2018-08-31).
SELECT
PERSON.ID, PERSON.NAME, ADDRESS.ID, ADDRESS.ADD1
, ADDRESS.ADD2, ADDRESS.CITY
FROM PERSON
LEFT JOIN
(
SELECT *
FROM ADDRESS
WHERE EFF_DATE IN (SELECT MAX(EFF_DATE) FROM ADDRESS)
) AS A
ON PERSON.ID = A.ID
Я знаю, что проблема в предложении WHERE, но я рисую пробел.