"SELECT parent.name
FROM categories AS node,
categories AS parent
WHERE node.left_node BETWEEN parent.left_node AND parent.right_node
AND node.name = '{$node_name}'
ORDER BY parent.right_node AND node.left_node"
上面的查询将显示所调用节点根目录的所有父节点。我只想获得下一个父节点,而不是一直到根节点,而只是上面的节点。例如,在下图中
如果我打电话给RED语句会拉水果和食物,但我想构建查询只将下一个节点拉到RED只有“Fruit”,不需要根节点“Food”。
答案 0 :(得分:0)
你可以利用任何节点留下的值大于它的父节点(或正确值小于其父节点)的事实,并使用limit来返回你想要的值。
ORDER BY parent.left_node desc
LIMIT 1
这是mysql synax,我不确定你正在使用什么rdbms。
在我看来,似乎有更好的方法。