关于数据库的查询问题
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后加上三位数表示,以此类推,就能把层次很好的表示出来. 
 这样做的话的好处就是你可以很方便的对层次里的内容进行查询