Andrei4ik93, мой запрос примерно с тем же назначением
SELECT *, MATCH (`firm`.`name`, `office`.`adr`, `office`.`tel`, `firm`.`descr`) AGAINST ('" . $search . "' IN BOOLEAN MODE) as `rel` FROM `firm` join `office` WHERE MATCH (`firm`.`name`, `office`.`adr`, `office`.`tel`, `firm`.`descr`) AGAINST ('" . $search . "' IN BOOLEAN MODE) and `firm`.`id`= `office`.`fid` group by `firm`.`name` ORDER BY `rel` DESC