複数の CROSS-APPLY ステートメントを使用せずに、次の XML を (T-SQL スクリプトで) 解析する方法はありますか? お気づきのように、ルートの子には異なる名前が付いています (それらは完全に異なります。最後の桁のインデックスだけが異なるわけではありません)。
この XML を、すべての MeasuredParamName* が列で、すべての値が行を表すテーブルに分割したいと考えています。各 MeasuredParamName 要素には、同じ数の子が含まれます。
すなわち。(MeasuredParamName1、MeasuredParamName2、MeasuredParamName3、MeasuredParamName4)
このソリューションに相互適用を使用すると、パフォーマンス上の問題はありますか? XML の別の構造の方が適切でしょうか?
元:
<Data>
<MeasuredParamName1>
<Value>1</Value>
<Value>2</Value>
</MeasuredParamName1>
<MeasuredParamName2>
<Value>3</Value>
<Value>4</Value>
</MeasuredParamName2>
<MeasuredParamName3>
<Value>0.5</Value>
<Value>0.10</Value>
</MeasuredParamName3>
<MeasuredParamName4>
<Value>20</Value>
<Value>30</Value>
</MeasuredParamName4>
</Data>