次のようなxmlを生成しようとしています:
<caption nr="1000">
<lang code="EN">Brussels</lang>
<lang code="FR">Bruxelles</lang>
</caption>
<caption nr="2000">
<lang code="EN">Antwerp</lang>
<lang code="FR">Anvers</lang>
</caption>
次のようなSQLデータベースに必要なすべての情報があります(SQLサーバー2005):
fld_pcd_cod fld_pcd_gem fld_pcd_tal
-------------------------------------------------------------
1000 Brussels EN
1000 Bruxelles FR
2000 Antwerp EN
2000 Anvers FR
group by ステートメント、サブ クエリ、distintc などを使用して多くの SQL クエリを試しました。
これは私が得ることができる最善の実行可能なソリューションです。しかし、新しい XSD を作成する必要があるため、それは私が望むものではありません。
<lang cap="1000" code="FR">BRUXELLES</lang>
<lang cap="1000" code="EN">BRUSSELS</lang>
<lang cap="2000" code="FR">ANVERS</lang>
<lang cap="2000" code="EN">ANTWERP</lang>
これは、上記のxmlノードを達成するために使用するクエリです
SELECT fld_pcd_cod as 'lang/@cap', fld_pcd_tal as 'lang/@code', fld_pcd_gem as 'lang'
FROM tbl_pcd
for XML path(''), type
これを解決する方法について誰か提案がありますか?