У меня сложилась ситуация:
Table1 has a list of companies.
Table2 has a list of addresses.
Table3 is a N relationship of Table1 and Table2, with fields 'begin' and 'end'.
Поскольку компании могут двигаться со временем, LEFT JOIN среди них приводит к появлению нескольких записей для каждой компании.
begin
и end
поля никогда не имеют NULL. Решение найти последний адрес - использовать ORDER BY being DESC
, а для удаления старых адресов - LIMIT 1
.
Это отлично работает, если запрос может принести только 1 компанию. Но мне нужен запрос, который приносит все записи Table1, объединенные с их текущими адресами Table2. Поэтому удаление устаревших данных должно быть сделано (AFAIK) в разделе LEFT JOIN ON.
Любая идея, как я могу построить предложение, чтобы не создавать дублированные компании Table1 и приносить последний адрес?