Так:
SELECT поля FROM objects o
LEFT JOIN companies c on c.id= o.data_id
Увы, не работает, отображает все подряд.
Вариант с добавлением o_type вполне приемлем, но потребует значительно больших трудозатрат (много кода) чем корректировка запросов SELECT.