SQL Server 2005 - TSQL per query XML per ottenere dipartimenti e dipendenti raggruppati
-
29-10-2019 - |
Domanda
Per un database con 3 tabelle:
- Azienda
- Dipartimento
- Employeeeexpartment
Vorrei un XML come sotto:
<Companies>
<Company>
<CompanyName></CompanyName>
<CompanyId></CompanyId>
<..></..>
<Departments>
<Name></Name>
<..></..>
<Employees>
<Employee>
<FirstName></FirstName>
<LastName></LastName>
.. .. ..
</Employee>
.. .. ..
</Employees>
</Departments>
.. .. ..
</Company>
.. .. ..
</Companies>
Laddove l'azienda ripete (tag), i dipartimenti all'interno dell'azienda ripetono (tag) e i dipartimenti dei dipendenti si ripetono (tag) ripetendo, intendo dire che ci sono più di un numero di questi elementi e non i dati.
Relazioni
Company
eDepartment
sono correlati attraversoFK
inDepartment
tabella che si collega aCompanyId
inCompany
tavolo.Department
eEmployeeInDepartment
sono correlati tramite "fk" inEmployeeInDepartment
tabella che si collega aDepartmentId
inDepartment
tavolo.
Domanda:
Esegui il database di seguito sul database Pub e controlla XML, avrà più di un lavoro con 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')
Nessuna soluzione corretta
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow