Предисловие: Любе и ли вы Firebird, такую СУБД, где легитимный индексированный join может просто безосновательно (почти) выполнятся дольше вложенного select?
Как вариант, избежать лишних сущностей можно агрегацией телефонов и мыл в лист
Select
*,
(select list('; ', phone) from phones where.. Group by. )
***
Или наоборот, сначала сплющить её полностью:
Company join (select list *** From phones group by***)
Сразу говорю, это вредный совет.
Предисловие: Любе и ли вы Firebird, такую СУБД, где легитимный индексированный join может просто безосновательно (почти) выполнятся дольше вложенного select?
Как вариант, избежать лишних сущностей можно агрегацией телефонов и мыл в лист
Или наоборот, сначала сплющить её полностью: