質問

3つのテーブルを保持しているデータベースの場合:

  1. 会社
  2. デパートメント
  3. Employee Indepartment

以下のようにXMLをお願いします:

<Companies>
  <Company>
    <CompanyName></CompanyName>
    <CompanyId></CompanyId>
    <..></..>
    <Departments>
       <Name></Name>
       <..></..>
       <Employees>
          <Employee>
             <FirstName></FirstName>
             <LastName></LastName>
             .. .. ..
          </Employee>
          .. .. ..
       </Employees>
    </Departments>
    .. .. ..
  </Company>
  .. .. .. 
</Companies>

会社が繰り返されている場合(タグ)、会社内の部門が繰り返し(タグ)、従業員の内部の部門は繰り返し(タグ)繰り返しています。

関係

  1. CompanyDepartment 介して関連しています FKDepartment にリンクするテーブル CompanyIdCompany テーブル。

  2. DepartmentEmployeeInDepartment 「fk」を介して関連しています EmployeeInDepartment にリンクするテーブル DepartmentIdDepartment テーブル。

クエリ:

以下の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')

正しい解決策はありません

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top