XML データを SQL Server テーブルにロードしようとしています。
XML ファイルは次のとおりです。
<root>
<Company ID="183">
<User UserName="Kim" />
<User UserName = "Joe" />
</Company>
<Company ID="123">
<User UserName="George" />
<User UserName = "Sal" />
</Company>
</root>
会社 ID と UserName の両方を持つ UserName のテーブルを取得したいと思います。この例では:
ID UserName
--- --------
183 Kim
183 Joe
123 George
123 Sal
各会社のすべてのユーザー名をループするなど、いくつかのことを試しましたが、特にこのソリューションに適したレイヤーが 2 つ以上ある場合、これは非常に複雑です。
私が試した別のことは次のとおりです。
SELECT
t.c.query('./UserName').value('.','varchar(20)') AS A ,
(
SELECT
t1.c1.value('@ID', 'varchar(10)')
FROM @x.nodes('/root/Company')AS t1(c1)
)
FROM @x.nodes('/root/Company/User')AS t(c)
サブクエリに複数の値があるというエラーが表示されます。
助言がありますか?ありがとう!