我有一个要循环浏览的表(模型)。它有一列称为类别的列,该列链接到另一个表(类别)。
id name parent
1 Audio NULL
2 Video NULL
3 Monitor 2
4 Monitor 1
5 Light NULL
6 HD 3
7 4K 4
使用下面的sql,我得到级别的名称,但是我希望获得整个路径,以便能够基于完整的类别路径进行排序。例如,id 7现在给我“ 4K”,但我想获取“ Video / Monitor / 4K”,id 4->“ Audio / Monitor”。如您所见,可能存在具有相同名称的子类别。
SELECT
m.id AS Id,
c.name AS Category,
m.model AS Model
FROM models m
LEFT JOIN categories c ON m.category=c.id
GROUP BY m.id
ORDER BY Category
目前,我有一个php循环,该循环以models表中的id开头,然后检查父级是否为NULL,创建新的sql等,直到父级为NULL。必须有更好的方法吗?
更新:服务器正在运行MySQL 5.6,暂时无法更新
更新2:我之前看到过建议的重复项,但就我而言,我知道孩子的身份证,并且我想找到所有父母。