私は FOR XML を使用しようとしましたが、成功せずに次のことを行いました。
ソース テーブル:
Country | ID | 1950 | 1955
-----------------------------------------------------
Country 1 | 1 | 2.43 | 2.55
Country 2 | 2 | 4.54 | 42.15
望ましい出力:
<locations>
<location>
<loc name='Country 1' id='1' />
<dub>
<data year='1950' value='2.43' />
<data year='1955' value='2.55' />
</dub>
</location>
<location>
<loc name='Country 2' id='2' />
<dub>
<data year='1950' value='4.54' />
<data year='1955' value='42.15' />
</dub>
</location>
</locations>
ダブ要素のピボットを解除する必要がありますか? 可能な限り単純な SQL クエリが必要でした。FOR XML は難しすぎると思います。列名に単純な XPath を使用するだけで階層を指定できるはずですが、たとえば[dub/data/@year=1955/@value]
列の名前としては受け入れられません[1950]
。