Если вы извлекаете данные из чистой реляционной базы данных, вам следует посмотреть, сможете ли вы получить несколько результирующих наборов в одном запросе. В качестве альтернативы, если вы можете получать неровные результаты, извлекайте их в древовидной структуре с соответствующей формой.
Если ваше соединение с базой данных недостаточно умное для этого, вы можете использовать универсальное объединение результатов, а затем вернуть запрос объединения, помеченный в какой-либо форме, чтобы определить, какой результат из какой таблицы.
Вы не указываете причину сокращенного кругового отключения, но вы также можете использовать что-то вроде хранимой процедуры, чтобы собрать необходимые данные на сервере и затем вернуть их в одном наборе результатов.