将嵌套的子注释与MySQL结合

bob_cobb

因此,我在这里接受了一个可接受的答案,为我的架构选择“ MySQL的父母和子女”submissions_comments,如下所示:

+---------------+------------------+------+-----+---------+----------------+
| Field         | Type             | Null | Key | Default | Extra          |
+---------------+------------------+------+-----+---------+----------------+
| id            | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| user_id       | int(10) unsigned | NO   | MUL | NULL    |                |
| submission_id | int(11)          | NO   | MUL | NULL    |                |
| comment       | text             | NO   |     | NULL    |                |
| parent_id     | int(10) unsigned | YES  | MUL | NULL    |                |
| created       | datetime         | NO   | MUL | NULL    |                |
| created_ip    | int(11)          | NO   |     | NULL    |                |
| helpful_count | int(11)          | NO   | MUL | NULL    |                |
| deleted       | tinyint(4)       | NO   | MUL | 0       |                |
+---------------+------------------+------+-----+---------+----------------+'

作为

  SELECT *
    FROM submissions_comments AS parent
         LEFT JOIN submissions_comments AS child 
         ON child.parent_id = parent.id
   WHERE parent.parent_id IS NULL
ORDER BY parent.id, child.id;

我最终得到以下结果:

+----+---------+---------------+-------------------------------+-----------+---------------------+------------+---------------+---------+------+---------+---------------+--------------------------------+-----------+---------------------+------------+---------------+---------+
| id | user_id | submission_id | comment                       | parent_id | created             | created_ip | helpful_count | deleted | id   | user_id | submission_id | comment                        | parent_id | created             | created_ip | helpful_count | deleted |
+----+---------+---------------+-------------------------------+-----------+---------------------+------------+---------------+---------+------+---------+---------------+--------------------------------+-----------+---------------------+------------+---------------+---------+
|  1 |      15 |            23 | This is a parent              |      NULL | 2014-02-19 01:41:39 |     127001 |             0 |       0 |    2 |      15 |            23 | This is a child comment        |         1 | 2014-02-19 01:41:43 |     127001 |             0 |       0 |
|  1 |      15 |            23 | This is a parent              |      NULL | 2014-02-19 01:41:39 |     127001 |             0 |       0 |    4 |      15 |            23 | This is a second child comment |         1 | 2014-02-19 02:01:29 |     127001 |             0 |       0 |
|  3 |      15 |            23 | I don't have any children |      NULL | 2014-02-19 01:43:30 |     127001 |             0 |       0 | NULL |    NULL |          NULL | NULL                           |      NULL | NULL                |       NULL |          NULL |    NULL |
+----+---------+---------------+-------------------------------+-----------+---------------------+------------+---------------+---------+------+---------+---------------+--------------------------------+-----------+---------------------+------------+---------------+---------+

如您所见,结果的前两行包含父注释和子注释。MySQL是否有一种方法可以将所有子注释完全嵌套在返回的一个父注释中,还是我需要_.pluck在返回的结果对象上使用下划线方法?

dg99

你是这个意思吗?

SELECT parent.id, MAX(parent.comment) as pcomm,
       GROUP_CONCAT(child.id ORDER BY child.id) as siblings,
       GROUP_CONCAT(child.comment ORDER BY child.id) as siblingComments
FROM   submissions_comments AS parent
 LEFT  JOIN submissions_comments AS child
   ON  child.parent_id = parent.id
WHERE  parent.parent_id IS NULL
GROUP  BY parent.id
ORDER  BY parent.id;

我假设通过“嵌套”,您只是意味着您希望以某种方式将同级结果分组在一起。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将嵌套的子注释与MySQL结合

来自分类Dev

将嵌套选择与SASS结合

来自分类Dev

将NSProgress与嵌套NSOperations结合使用

来自分类Dev

将嵌套查询与过滤器结合

来自分类Dev

PredicateBuilder剥离括号,将嵌套的AND与OR结合使用

来自分类Dev

子数据不会显示在查询结果中-将Apache Solr 4.8.1与MySql结合使用

来自分类Dev

如何将子节点与JSX结合?

来自分类Dev

如何将子节点与JSX结合?

来自分类Dev

将MySQL IN()与PHP和PDO结合使用

来自分类Dev

EXCEL 2010:将INDEX与IF结合使用(可能是嵌套的)

来自分类Dev

将模拟输出与R中的嵌套列表结合

来自分类Dev

JFlex将嵌套注释匹配为一个令牌

来自分类Dev

结合使用MYSQL GROUP_CONCAT和子查询

来自分类Dev

结合使用MYSQL GROUP_CONCAT和子查询

来自分类Dev

在Spring Boot 1.41中将@WebMcvTest与@PathVariable带注释的控制器结合使用

来自分类Dev

Kotlin中的嵌套注释

来自分类Dev

Reactjs中的嵌套注释

来自分类Dev

Django中的嵌套注释

来自分类Dev

将Guid ID与ServiceStack 4和MySQL结合使用

来自分类Dev

将多个模型(mysql)结合到Django中的模板

来自分类Dev

如何将select *与union结合使用?MySQL的

来自分类Dev

将URL参数与mySQL和JSP结合使用

来自分类Dev

试图将Flask-mysql与python结合使用

来自分类Dev

结合使用子子域

来自分类Dev

将嵌套的Json插入MySQL表

来自分类Dev

Elasticsearch,将嵌套过滤器与普通过滤器结合

来自分类Dev

Elasticsearch,将嵌套过滤器与普通过滤器结合

来自分类Dev

将两个嵌套的SELECT与DISTINCT结合在一起?

来自分类Dev

将两个元组与嵌套列表理解结合起来