Предлагаю допросить менеджеров.
Понимание, что именно нужно пользователю помогает иногда упростить задачу и свести её к чему-то, что будет работать быстрее, чем последовательная выборка 4-х оснований.
К тому же, в твоей задаче: в возврате может быть МНОГО оснований - приходов, соответственно, может быть выбрано НЕСКОЛЬКО заказов и МНОГО контрактов. Как сопоставлять номера?