2012-01-19 4 views
2

У меня есть таблица mysql, которая содержит комментарии. Комментарии могут содержать суб-комментарии, но только один уровень вниз (есть дополнительный атрибут «parent», а родитель комментария не может иметь родителя). Я хочу разбивать такие данные так:«Гибкий» предел MySQL

Возьмите первый, скажем, 10 комментариев верхнего уровня (со смещением страницы), а также их подкомментарии, если таковые имеются.

Очевидное решение состоит в том, чтобы получить 10 комментариев, а затем их подкомментарии с предложением IN, но я чувствую, что это неправильный способ сделать это (или, по крайней мере, лучший способ).

Есть ли лучший способ достичь этого?

ответ

0

Я думаю, что подзапрос IN, вероятно, будет вашим лучшим выбором:

SELECT whatever FROM comments_table c 
WHERE c.id IN (SELECT id FROM comments_table c2 WHERE some_criteria_here LIMIT 10) 
OR c.parent_id IN (SELECT id FROM comments_table c2 WHERE some_criteria_here LIMIT 10) 
+0

да, это то, что я имел в виду в первую, но я надеюсь на лучшее решение –

Смежные вопросы