XML文書内のノードの順序はどのようにして見つけることができますか?SQL ServerでのXML文書のノード順序の検索
私は何を持っていることは、このような文書である:
<value code="1">
<value code="11">
<value code="111"/>
</value>
<value code="12">
<value code="121">
<value code="1211"/>
<value code="1212"/>
</value>
</value>
</value>
と私はXMLからの値の順序を保存
CREATE TABLE values(
code int,
parent_code int,
ord int
)
のように定義されたテーブルにこの事を取得しようとしていますドキュメント(コードで注文することはできません)。私は
SELECT code
FROM values
WHERE parent_code = 121
ORDER BY ord
を言うことができるようにしたいとの結果は、決定論的、
code
1211
1212
でなければなりません「私は
SELECT
value.value('@code', 'varchar(20)') code,
value.value('../@code', 'varchar(20)') parent,
value.value('position()', 'int')
FROM @xml.nodes('/root//value') n(value)
ORDER BY code desc
を試してみました。しかし、それは(position()
機能を受け付けませんposition()
'は述語またはXPathセレクタ内でのみ使用できます)。
何とか可能ですが、どうですか?
として新しいsollution入手?もしそうでなければ、それは痛みになるでしょう。あなたがコードに頼ることはできませんか? – gbn
... xmlからどのような出力が必要ですか? – gbn
質問を更新して詳細を提供しました。そして、いいえ、無限の深さがあります。 – erikkallen