MySql 在同一张表上加入

标签 mysql

我是 sql 的新手,如果这看起来很明显,请原谅我。

我查看了我在这里找到的所有答案,并尝试调整它们以适用于我的数据,但由于某种原因,结果永远不正确。

我只是想将数据提取到一个有序列表中,其中包含父项(parent_id 为 0 的记录)以及其下方的每个 sibling 。

我还不能发布图片,因为我成为成员(member)的时间还不够长,但我的表结构非常简单。

id, subject, parent_id

父对象的 parent_id 为零。

谢谢

史蒂夫

PS:我试过这个解决方案,但对我来说效果不佳。 join with same table in mysql?

最佳答案

有点像

SELECT p.subject AS parent, 
group_concat(c.subject) AS children 
FROM yourtable AS p 
LEFT JOIN yourtable AS c 
ON (p.id = c.parent_id and p.parent_id = 0) 
GROUP BY p.id;`

关于MySql 在同一张表上加入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9867547/

相关文章:

mysql - 为什么我无法设置 Rails 迁移中 float 的精度和比例?

php - 多关系 Laravel 5

jquery - 如何从 JQuery 发送到 SQL 数据库?

php - 如何通过 PHP mail() 函数发送检索到的表

mysql - 后缀未替换 %s

mysql - 查询的 Grails HQL 表示

php - 无法使用PDO从sql获取数据

mysql - DB2 使用日期和时间显示用户的最新行记录

mysql - MariaDB - 在两个实体之间创建多对多关系表

php - 将 Mysql 结果对象转换为关联数组 (CodeIgniter)