2015-11-30 3 views
1

У меня есть следующая табличная схема.Последние 5 сообщений в форуме

Один форум может иметь один или несколько подфорумов.

Пример:

id descr parentforumid 
1 first 0 
2 second 0 
3 third 1 
4 fourth 1 
5 fifth 3 
6 sixth 2 

Моя цель состоит в том, когда я буду получать сообщения и установить в качестве forumid = 1, что я получаю все сообщения от forumid 1 и forumid 3 и forumid 4 и 5. forumid

и когда я искать forumid = 3, то я должен получить все сообщения от forumid 3 и 5 forumid

enter image description here

Я знаю, что мне нужно рекурсивную функцию, где я получил все форумы для поиска в сообщениях, но я понятия не имею, как я запускаю решение.

Возможно, у вас есть подсказки, в которых я должен искать или искать.

+0

[This] (http://stackoverflow.com/q/14658378/1492578) и [это] (http: //stackoverflow.com/q/16513418/1492578) может помочь. –

+0

Если вам нравится, подумайте о следующем простом двухэтапном курсе действий: 1. Если вы еще этого не сделали, предоставьте правильные инструкции CREATE и INSERT (и/или sqlfiddle), чтобы мы могли легче реплицировать проблему. 2. Если вы еще этого не сделали, укажите желаемый результирующий набор, соответствующий информации, представленной на шаге 1. – Strawberry

ответ

0

Почему не просто ИЛИ будет это делать? Для ex SELECT независимо от таблицы, где (id = 3 или parentid = 3) порядок по типу sometimestamp desc 5

+0

Я не думаю, что это сработает, потому что в первом примере OP означает, что '3' является' 1' s, а '5' -' 3 'родитель. –

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