Есть таблица А, к этой таблице по первичному ключу есть другие таблицы, каждая из которых может содержать много одинаковых первичных ключей таблиц А. Есть дополнительно при запросе к таблице А условия выборки. Если смотреть код, то получается примерно так:
$query = TableA:find()
->joinWith(['tableb', 'tablec', 'tablee'], true, 'LEFT JOIN')
...
Чтобы убрать дубликаты TableA нужно использовать distinct, который начинает сильно тормозить запрос при росте данных в таблицах. Как можно сделать по другому, чтобы не было дубликатов TableID?