Есть две таблицы bd и bd_category
Таблица bd содержит:
+--------+--------+--------+--------+--------+
| id | title | catid | views | .... |
+--------+--------+--------+--------+--------+
| 1 | Test | 3 | 100 | .... |
+--------+--------+--------+--------+--------+
| 2 | Test2 | 2 | 50 | .... |
+--------+--------+--------+--------+--------+
| 3 | Test3 | 3 | 130 | .... |
+--------+--------+--------+--------+--------+
Таблица bd_category содержит:
+--------+--------+--------+
| catid |titleсat|parentid|
+--------+--------+--------+
| 1 | TestCat| -1 |
+--------+--------+--------+
| 2 |TestCat1| 1 |
+--------+--------+--------+
| 3 |TestCat2| 1 |
+--------+--------+--------+
views - число просмотров страницы
catid - идентификатор категории-потомка из bd_category
parentid - идентификатор родительской категории
Как видно из примера 2 записи из bd относятся к двум разным категориям-потомкам
Естественно, к каждой из категорий-потомков может относиться много записей из bd.
Мне нужно вывести всего 10 записей из bd имеющих отношение к родительской категории (в примере это catid = 1), отсортировав по views. Т.е. нужно выходить на родительскую категорию через категории-потомки.
Трудность возникает как раз в том, как вывести под родительской категорией все записи, которые относятся к категориям-потомкам.
Вот, не знаю как понятнее еще свормировать вопрос. В итоге я хочу получить типа этого:
TestCat - родительская категория
Test3 |
Test | - записи из bd, отсортированные по views
Test2 |
Надеюсь, так понятнее будет. Прошу помочь любым способом.
У меня был вариант сделать еще одну колонку в bd (parentid), куда записывать id родительской категории.
Может можно как-то лучше это сделать? Очень важна скорость работы, т.к. записей в bd очень много (~20-50 тыс.).