我正在尝试为我想要的输出找到一个查询,如果可能的话,我无法理解它。
table_forum:
forum_id parent_id forum_name
1 0 name1
2 1 name2
7 0 name3
8 7 name4
9 7 name5
173 9 name6
11 0 name7
12 0 name8
233 11 name9
14 11 name10
...
table_posts:
post_id topic_id forum_id poster_id
25626 61 1 85
2 1 1 85
3 1 1 85
4 1 1 85
5 1 1 85
6 1 1 85
7 200 7 85
8 19 8 85
9 4 9 85
10 2 173 85
196122 3202 233 85
11 2 173 85
12 2 173 85
...
我做了一个快速小提琴,让你能够测试我的距离:http://sqlfiddle.com/#!9/90b73f/1
Atm我可以获得一个论坛及其所有父母的帖子向上计数但仅从该论坛向上(没有其他论坛进入计算)
我想要实现的是这样的SQL输出:
forum_id forum_name parent_id lvl countPosts
1 name1 0 2 6
2 name2 1 1 0
7 name3 0 3 5
8 name4 7 2 1
9 name5 7 2 4
173 name6 9 1 3
11 name7 0 2 1
14 name10 11 1 0
233 name9 11 1 1
12 name8 0 1 0
我不知道这是否可能,但我希望" lvl"以后用作" \ t"的计数器缩进论坛名称,以便更好地在我的网站上查看论坛的分配方式......
我想稍后在网页上以类似这样的形式呈现它(没有子弹字符):
forumname Postcount
name1 6
name2 0
name3 5
name4 1
name5 4
name6 3
etc...
如果你有更好的解决方案可以解决问题,我全都耳朵! - 这是第一次遇到这样的问题,所以我无法想到另一种方式。
提前致谢!