如果是在SQL 2000中,我们需要读取分层结构数据时,不得不借助递归。在SQL server 2005中,我们可以使用CTE,当然,好的数据结构设计可以避免你使用CTE,请看这里:http://blog.csdn.net/downmoon/archive/2009/10/23/4715814.aspx
如果你是一个数据库设计新手,那么在sql server 2008中可以使用新的原生分层结构数据hierarchyid。
关于它的详细说明,请看MSDN:
http://msdn.microsoft.com/zh-cn/library/bb677173%28v=sql.100%29.aspx
http://64.4.11.252/zh-cn/library/bb677173.aspx
http://msdn.microsoft.com/en-us/magazine/cc794278.aspx#id0090037
需要注意的是,它可以改造传统数据表而成。但不可以实现与XML互相转换。
下面我们看一个示例:
查询示例:
相关资源:
1、SQL2005/2008中的CTE应用--递归查询
http://blog.csdn.net/downmoon/archive/2009/10/23/4715814.aspx
2、gridview中分组数据的显示
http://blog.csdn.net/downmoon/archive/2008/08/26/2832007.aspx
3、DataRelation(DataSet中父子表)的一个示例
http://blog.csdn.net/downmoon/archive/2009/12/27/5085410.aspx