SQL Server 2005 -XMLクエリ用のTSQLグループと従業員を取得するためのTSQL
-
29-10-2019 - |
質問
3つのテーブルを保持しているデータベースの場合:
- 会社
- デパートメント
- Employee Indepartment
以下のようにXMLをお願いします:
<Companies>
<Company>
<CompanyName></CompanyName>
<CompanyId></CompanyId>
<..></..>
<Departments>
<Name></Name>
<..></..>
<Employees>
<Employee>
<FirstName></FirstName>
<LastName></LastName>
.. .. ..
</Employee>
.. .. ..
</Employees>
</Departments>
.. .. ..
</Company>
.. .. ..
</Companies>
会社が繰り返されている場合(タグ)、会社内の部門が繰り返し(タグ)、従業員の内部の部門は繰り返し(タグ)繰り返しています。
関係
Company
とDepartment
介して関連していますFK
のDepartment
にリンクするテーブルCompanyId
のCompany
テーブル。Department
とEmployeeInDepartment
「fk」を介して関連していますEmployeeInDepartment
にリンクするテーブルDepartmentId
のDepartment
テーブル。
クエリ:
以下のPubsデータベースを実行してXMLを確認すると、ID 10で複数のジョブがあります
select jobs.job_id 'JobId',
job_desc 'Desc',
(
select emp_id 'EmployeeId',fname 'FirstName',lname 'LastName' from employee where job_id = jobs.job_id for xml path('Emploees'),type
)
from jobs
inner join
employee on jobs.job_id = employee.job_id
for xml path('employees')
正しい解決策はありません
所属していません StackOverflow