我有一个名为pages的表,我用它来做几件事,包括站点的导航。在该表中,我有页面名称,parentid,navid(如果它在导航中则设置为1,否则为0并且不计算它),以及指示顺序的navorder。我正在翻阅所有父母的表格然后做一个选择语句来拉动所有孩子(如果他们存在)为该父母做出导航的下拉列表。如果有8个父母,每个孩子都有孩子,每次页面加载时最终都会有很多选择语句。我想知道在1 sql调用中是否有更好的方法可以返回一个包含所有父子节点的数组。
我希望拥有强大MySQL背景的人能够朝着正确的方向推动我。
答案 0 :(得分:0)
SELECT * FROM pages
WHERE parentid = *the page id* AND navid = 1
ORDER BY *column you want to sort by*
在升序/降序的末尾添加ASC
或DESC
你在编写哪种语言?
答案 1 :(得分:0)
SELECT parent.id, child.id
FROM pages parent LEFT JOIN
pages child ON parent.id = pages.parentid
WHERE parent.parentid IS NULL
ORDER BY parent.navorder, child.navorder