SQL Server の「testing」というテーブルにいくつかのデータがあります。
ID Name Department
1 Person1 IT
2 Person2 Finance
3 Person3 IT
4 Person4 IT
5 Person5 Finance
私が使用しているSQLクエリは次のとおりです。
SELECT Department AS '@Department',
(
SELECT Name
FROM testing
WHERE Department = Department
FOR XML PATH ('Person'), TYPE
)
FROM testing
GROUP BY Department
FOR XML PATH ('Department'), TYPE
問題は、出力が部門ごとにグループ化されていないことです。代わりに、すべての人が財務に含まれ、再び IT に含まれます。
どこが間違っていますか?
前もって感謝します
現在の出力は次のとおりです。
<Department Department="Finance">
<Person>
<Name>Person1</Name>
</Person>
<Person>
<Name>Person2</Name>
</Person>
<Person>
<Name>Person3</Name>
</Person>
<Person>
<Name>Person4</Name>
</Person>
<Person>
<Name>Person5</Name>
</Person>
</Department>
<Department Department="IT">
<Person>
<Name>Person1</Name>
</Person>
<Person>
<Name>Person2</Name>
</Person>
<Person>
<Name>Person3</Name>
</Person>
<Person>
<Name>Person4</Name>
</Person>
<Person>
<Name>Person5</Name>
</Person>
</Department>
しかし、私の望ましい出力は次のとおりです。
<Department Department="Finance">
<Person>
<Name>Person2</Name>
</Person>
<Person>
<Name>Person5</Name>
</Person>
</Department>
<Department Department="IT">
<Person>
<Name>Person1</Name>
</Person>
<Person>
<Name>Person3</Name>
</Person>
<Person>
<Name>Person4</Name>
</Person>
</Department>