读书人

关于数据库的查询有关问题

发布时间: 2012-01-19 20:57:58 作者: rapoo

关于数据库的查询问题
table的子段如下:
id int 栏目ID,
categoryName nvarchar(50) 栏目名称,
upid int 父栏目ID;

用sql语句如何获取所有栏目的子栏目呢(子栏目下还有子栏目)

[解决办法]
用第三范式建表就不会有这种问题。
[解决办法]
给个思路:

建一个结果临时表,
调用一个SP, 将结果插入临时表, 递归 , 返回临时表, OK.
[解决办法]
数据库设计不合理
[解决办法]
第三范式建表是什么,请明示。
[解决办法]
upid int 改了吧叫KeyNum
假设这样的树:
栏目1 keyNum:aa
栏目1子1 keyNum:aaaa
栏目1子2 keyNum:aaab
栏目1子3 keyNum:aaac
栏目1子3子1 keyNum:aaacaa
这样在查询的时候 要查询 栏目1的所有项目就 like keyNum 'aa% '
这样在查询的时候 要查询 栏目1子3 的所有项目就 like keyNum 'aaac% '



[解决办法]
这样说LZ明白了吗?我认为这种方法,是一种很垃圾的办法,既然是树,为什么不一级一级的看,非要点第一个看它所有的下属呢?
[解决办法]
to:skyyun(落枫飘零)
不会写存储过程,可以在程序中递归啊。
[解决办法]
我也给个思路吧.
在建表时采用编码的方式在区分栏目的层次
比如:是第一层主栏目的话就用01两位表示,第二层的话就在01后加上三位数表示,以此类推,就能把层次很好的表示出来.
这样做的话的好处就是你可以很方便的对层次里的内容进行查询

读书人网 >C#

热点推荐