菜单结构的 SQL 脚本
我想从数据库创建菜单结构。
例如,数据库如下:
id name parent
1 x null
2 y 1
3 z null
4 a 3
5 b 2
结果应该是:
-x
--y
---b
-z
--a
现在,我想到的算法如下: 1.首先找到'parent' = null的列。 (我将此栏称为A) 2.然后找到'parent' = A的父级的列。 (我将此栏称为 B) 3.然后找到'parent' = B的父级的列。 等等,
WHILE (SELECT MenuText FROM dbo.Table2 WHERE parent = NULL)
BEGIN
SELECT MenuText FROM dbo.Table2 WHERE parent = ...
END
好不好?
I want to create menu structure from a database.
For example, the database is the following:
id name parent
1 x null
2 y 1
3 z null
4 a 3
5 b 2
The result should be:
-x
--y
---b
-z
--a
Now, the algorithm I have on mind is the following:
1. first find a column which has 'parent' = null. (I'll call this column A)
2. then find a column which has 'parent' = A's parent. (I'll call this column B)
3. then find a column which has 'parent' = B's parent.
etc.
WHILE (SELECT MenuText FROM dbo.Table2 WHERE parent = NULL)
BEGIN
SELECT MenuText FROM dbo.Table2 WHERE parent = ...
END
Is it good?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看起来像是树查询的候选者(我不知道Express版是否支持这个) , 尽管)。
Looks like a candidate for a tree query (I don't know whether the Express Edition supports this, though).