数週間前、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
私が望んでいるのは(そして、どのように実現するか、どこから始めればよいのかまったくわからない)、別のテーブル(もちろん、1つの列はこの特定のコードです)にコードを照会し、特定のコードを含むすべてのレコードを取得できるようにすることです。すべての従属コード
例:他のテーブルで「IndustryCode = IND [ustry]」をクエリし、(もちろん)「IND」を含むレコードを取得しますが、 AUTO[motive]とPHARM[aceutical](=すべての部下)も取得します
高度なサービスを備えたSQLExpressServer2008です。