не могу сообразить как лучше зайти.
Есть дерево категорий огромной вложенности. Нужно по определенным параметрам (where), с сортировкой, лимитами и оффсет, вывести, допустим, 5 записей категории 1. Для каждой из 5 записей категории 1 сделать выборку по параметрам 5 дочерних элементов, также с сортировкой - назовем это категорией 2. Если для записи из категории 1 не находится пары в категории 2 (например на прошла по where), то эта запись (из категории 1) не должна участвовать в запросе. Далее также выбираем категории 3, 4, 5. Если мы составили дерево вплоть до 4 категории, но на 5 мы не нашли элементов по параметрам - вся ветка не учитывается. Надеюсь понятно объяснил. При этом очень важно иметь возможность нормально сортировать данные, делать offset и limit.
Пытался делать JOINами и через WITH - все получается и с приемлемой скоростью. Но проблема в том, что мне нужно для каждого уровня задавать свои лимиты, сортировку, отступ, а не для всего результата выборки в целом.
Куда в такой ситуации смотреть?
Вложенные запросы не?
Обсуждают сегодня