SELECT parent.name
FROM categories AS node,
categories AS parent,
categories AS parent1
WHERE node.left_node > parent.left_node AND node.right_node < parent.right_node AND parent.left_node > parent1.left_node AND < parent.right_node > parent1.right_node
AND node.name = '{$node_name}'
ORDER BY parent.right_node DESC
上面的查询将显示所有父节点到被调用节点的根节点。我只想让下一个父母不是一直到根,而只是上面的节点。例如,在下图中
http://img97.imageshack.us/img97/7139/fruittree.gif
当樱桃被召唤时,我想把RED称为Or Fruit。为此,我创建了三级AS节点,parent和parent1。根据其在右侧和左侧的值进行条件。我想只在那里提取那些字段。在node.left_node&gt; parent.left_node AND node.right_node&lt; parent.right_node AND parent.left_node&gt; parent1.left_node AND&lt; parent.right_node&gt; parent1.right_node AND node.name ='{$ node_name}'。
在这种情况下,不知道条件是否正确,因为它在上面的查询中引发致命错误。
任何意见?
答案 0 :(得分:0)
在原始查询中,您只需进行以下修改:
SELECT parent1.name
FROM categories AS node,
categories AS parent,
categories AS parent1
WHERE node.left_node > parent.left_node AND node.right_node < parent.right_node
AND parent.left_node > parent1.left_node AND parent.right_node < parent1.right_node
AND node.name = '{$node_name}'
ORDER BY parent.right_node DESC