У меня есть две подобные таблицы: основная сущность и одна для представления статусов сущности, включая старые.
> entity
id, current_status_id
> status
id, entity_id, name
Я написал такой запрос, чтобы вернуть элементы сущности, которыев настоящее время имеет данный статус
SELECT e.*
FROM entity e
INNER JOIN status s ON e.current_status_id = s.id
WHERE name = $some_status
Но скажем, я хочу добавить фильтр к этому запросу, который уже имеет соединение между Status и Entity.Например: если у него был другой статус в прошлом.
. Я бы добавил это в конец предыдущего запроса:
AND e.id IN (SELECT entity_id FROM status WHERE name = $another_status)
IИнтересно, если в таких ситуациях необходимо вложение запроса, так как эта таблица уже объединена.Есть ли ярлык или хорошая практика для этого?
Спасибо