【问题标题】:Stored Procedure for finding N Level Child List查找 N 级子列表的存储过程
【发布时间】:2014-08-15 04:10:48
【问题描述】:

最近我遇到了一个从表中查找 N 级子级的问题。

假设我们有以下表格列表:

Table: **Country**
PKCountryID
CountryCode
CountryName

Table: **State**
PKStateID
FKCountryID
StateCode
StateName

Table: **Area**
PKAreaID    
FKStateID
AreaCode
AreaName

Table: **Customer**
PKCustomerID    
FKAreaID 
CustomerCode
CustomerName and so on....

这里我们需要找到一种方法来获得N级Treeview with All Columns

就像

   >Country
            Country Table Column         
            Foreign Key Column of Country Table(Here : FKStateID)
            >State
                    State Table Column         
                    Foreign Key Column of State Table 

以此类推,直到 N 级。

有什么解决办法吗?

【问题讨论】:

  • 对此的简单解决方案是按需加载子节点。首先,加载所有国家(如果国家在层次结构中处于顶层),然后将所有国家添加到根节点。在扩大国家/地区时,调用数据库以加载所选国家/地区的所有州,并将它们附加到当前在树视图中选择的国家节点,依此类推。

标签: javascript sql-server asp.net-mvc


【解决方案1】:

您基本上可以使用 CTE 创建层次结构。如果您正确构建 hte CTE,它将根据需要加载尽可能多的级别。但是,我以前构建过这些,您必须非常小心地编写代码以及编写代码的方式,否则性能可能会受到影响。

请尝试使用 CTE 获取信息并确定是否符合您的需要。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-15
    • 2022-01-06
    • 2015-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多