mysql关系查询——join是答案吗?

ukqbszuj  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(324)

我正在使用mysql为我的站点编写一个基本的论坛系统。我需要一种方法不仅跟踪帖子,而且跟踪帖子的回复。因为每个帖子只能有一个家长,但最终可以有多个孩子,我想我需要两个表。第一个表至少包含每个帖子的标题、正文和父级。第二个表仅包含对父帖子及其相应子帖子的引用,如下所示:

  1. Posts Table
  2. ID | PARENT | TITLE | POST
  3. 1 | | Msg 1 | Body 1
  4. 2 | | Msg 2 | Body 2
  5. 3 | | Msg 3 | Body 3
  6. 4 | 2 | Msg 4 | Body 4
  7. 5 | 1 | Msg 5 | Body 5
  8. 6 | | Msg 6 | Body 6
  9. 7 | | Msg 7 | Body 7
  10. 8 | 5 | Msg 8 | Body 8
  11. 9 | | Msg 9 | Body 9
  12. 10 | 1 | Msg 10 | Body 10
  13. 11 | 1 | Msg 11 | Body 11
  14. 12 | 2 | Msg 12 | Body 12
  15. Children Table
  16. ID | PARENT | CHILDREN
  17. 1 | 2 | 4
  18. 2 | 1 | 5
  19. 3 | 5 | 8
  20. 4 | 1 | 10
  21. 5 | 1 | 11
  22. 6 | 2 | 12

在本例中,消息1有3个子级:5、10和11。消息2有两个子项:4和12。等。
有了这些信息,我试图找到最好的方法来确定我的帖子列表子集的子项(比如消息5到10)?某种连接是否允许单个查询获取父级和任何相应的子级?或者我最好对每个父消息分别进行查询以确定其子消息?
我正试着弄清楚我的想法,这让我很困惑。抱歉,如果这是基本的东西,但提前谢谢。

bvjxkvbb

bvjxkvbb1#

  1. Select parent, group_concat(title) from posts where
  2. parent!='' group by parent;

从这里开始,看看会发生什么。

相关问题