我有MYSQL Skillz,但这对我来说很重要......
我有这个数据库结构:
我希望得到孩子,爷爷,爷爷,孩子等等 给定父母的。
示例:
当我选择父189作为起点时,我想在这里得到Ids的结果:
id {234,235,238,239,240,245,246,2037,2038}
我的方法就在这里:
SELECT GROUP_CONCAT(lv SEPARATOR ',') FROM (
SELECT @pv:=(SELECT GROUP_CONCAT(id SEPARATOR ',') FROM companies
WHERE parent IN (@pv)) AS lv FROM companies
JOIN
(SELECT @pv:=189)tmp
WHERE id IN (@pv)) a;
但是我只能在这里得到这个结果:ID:{234,235,246,238,240}
所以有些人失踪了......
是否还有其他可能获得给定父节点的所有子节点?
非常感谢您的任何提示......
编辑:好的,我已经读过这在mysql中是不可能的(少于mysql 8.0)所以我们使用的是较低版本的atm)
但我用PHP编写脚本,也许我可以编程方式找到一个解决方案而不是构建一个巨大的SQL查询....