几周前,我问了一个关于如何从具有 parentID 列的表中生成分层 XML 的问题。一切正常。重点是,根据层次结构,我也想查询一张表。
我给你举个例子:
那是带有代码的表:
ID CODE NAME PARENTID
1 ROOT IndustryCode NULL
2 IND Industry 1
3 CON Consulting 1
4 FIN Finance 1
5 PHARM Pharmaceuticals 2
6 AUTO Automotive 2
7 STRAT Strategy 3
8 IMPL Implementation 3
9 CFIN Corporate Finance 4
10 CMRKT Capital Markets 9
我从中生成(用于在 TreeViewControl 中显示)这个 XML:
<record key="1" parentkey="" Code="ROOT" Name="IndustryCode">
<record key="2" parentkey="1" Code="IND" Name="Industry">
<record key="5" parentkey="2" Code="PHARM" Name="Pharmaceuticals" />
<record key="6" parentkey="2" Code="AUTO" Name="Automotive" />
</record>
<record key="3" parentkey="1" Code="CON" Name="Consulting">
<record key="7" parentkey="3" Code="STRAT" Name="Strategy" />
<record key="8" parentkey="3" Code="IMPL" Name="Implementation" />
</record>
<record key="4" parentkey="1" Code="FIN" Name="Finance">
<record key="9" parentkey="4" Code="CFIN" Name="Corporate Finance">
<record key="10" parentkey="9" Code="CMRKT" Name="Capital Markets" />
</record>
</record>
</record>
如您所见,有些代码从属于其他代码,例如 AUTO << IND << ROOT
我想要的(并且完全不知道如何实现,甚至不知道从哪里开始)是能够查询另一个表(其中一列当然是这个特定的代码)的代码并获取具有特定代码的所有记录和所有从属代码
例如:我在另一个表中查询“IndustryCode = IND[ustry]”并获取(当然)包含“IND”的记录,还有AUTO[motive] 和 PHARM[aceutical](= 所有下属)
它是具有高级服务的 SQL Express Server 2008。