MySQL网站在将分层数据存储在数据库中时有一个excellent tutorial。我试图编写返回节点的直接子节点的查询。我不想从MySQL网站复制/粘贴查询,因为我试图以数据库不可知的方式处理这个问题。如何将复杂的SQL查询转换为Zend_Db_Select语句?
这是我想查询Zend_Db_Select对象,IFY
SELECT node.name, (COUNT(parent.name) - (sub_tree.depth + 1)) AS depth
FROM nested_category AS node,
nested_category AS parent,
nested_category AS sub_parent,
(
SELECT node.name, (COUNT(parent.name) - 1) AS depth
FROM nested_category AS node,
nested_category AS parent
WHERE node.lft BETWEEN parent.lft AND parent.rgt
AND node.name = 'PORTABLE ELECTRONICS'
GROUP BY node.name
ORDER BY node.lft
)AS sub_tree
WHERE node.lft BETWEEN parent.lft AND parent.rgt
AND node.lft BETWEEN sub_parent.lft AND sub_parent.rgt
AND sub_parent.name = sub_tree.name
GROUP BY node.name
ORDER BY node.lft;
+1仅用于链接到教程! – Marcin 2011-02-03 08:37:55