Advertisement
Guest User

Untitled

a guest
Jan 17th, 2017
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 KB | None | 0 0
  1. if OBJECT_ID('tempdb..#Person') IS NOT NULL DROP TABLE #Person
  2. if OBJECT_ID('tempdb..#Company') IS NOT NULL DROP TABLE #Company
  3. if OBJECT_ID('tempdb..#Address') IS NOT NULL DROP TABLE #Address
  4. create table #Person ( Id int, Name varchar(max))
  5. create table #Company( Id int, PersonId int, CompanyName varchar(max))
  6. create table #Address( Id int, CompanyId int, Address varchar(max))
  7.  
  8. insert into #Person values(1, 'Jon Smith')
  9. insert into #Company values(1, 1, 'Oracle')
  10. insert into #Address values(1, 1, 'Oracle address 1')
  11. insert into #Address values(2, 1, 'Oracle address 2')
  12.  
  13. insert into #Company values(2, 1, 'Microsoft')
  14. insert into #Address values(3, 2, 'Microsoft address 1')
  15. insert into #Address values(4, 2, null)
  16.  
  17.  
  18. select #Person.Name, #Company.CompanyName, #Address.Address
  19. from #Person inner join #Company on #Person.Id = #Company.PersonId
  20. inner join #Address on #Company.Id = #Address.CompanyId
  21.  
  22. --attribute centric xml
  23. select #Person.Name, #Company.CompanyName, #Address.Address
  24. from #Person inner join #Company on #Person.Id = #Company.PersonId
  25. inner join #Address on #Company.Id = #Address.CompanyId
  26. for xml auto, root('results')
  27. --element centric xml
  28. select Person.Name, Company.CompanyName, Address.Address
  29. from #Person Person inner join #Company Company on Person.Id = Company.PersonId
  30. inner join #Address Address on Company.Id = Address.CompanyId
  31. for xml auto, root('results')
  32.  
  33. --hierarchical result
  34. select Person.Name, Company.CompanyName, Address.Address
  35. from #Person Person inner join #Company Company on Person.Id = Company.PersonId
  36. inner join #Address Address on Company.Id = Address.CompanyId
  37. for xml auto, elements, root('results')
  38.  
  39. --hierarchical result2
  40. select Person.Name, Address.Address, Company.CompanyName
  41. from #Person Person inner join #Company Company on Person.Id = Company.PersonId
  42. inner join #Address Address on Company.Id = Address.CompanyId
  43. for xml auto, root('results')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement