假设有评论 abcde 存在数据库中。
a 为父级评论。
b 回复了 a
c 回复了 b
d 回复了 a
e 回复了 c
这时候我想检出其中某个评论和所有相关的子评论。
例如
b 和所有相关子评论是 bce
c 和所有相关子评论是 ce
我应该怎么写 sql 语句,或者如何设计数据结构
1
hlwjia 2018-09-08 20:02:56 +08:00
id, parent_id, content
|
2
cpdyj0 2018-09-08 20:08:14 +08:00
个人觉得 #1 那样设计的前提是可以方便的递归,如果不能递归那也可以搞一个 varchar 存 a/b/c 这样的东西
|
3
BaiMax 2018-09-09 10:49:34 +08:00 via Android 1
Oracle 有这样一个写法,可以拿到 b 和 b 的所有下级,select ID from table START WITh ID = 'b' connect by prior parent_id = id
|
4
BaiMax 2018-09-09 10:59:27 +08:00 via Android
或者是表结构加上 treecode,和 nodelevel。
|