Advertisement
Guest User

Untitled

a guest
Feb 20th, 2019
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 1.03 KB | None | 0 0
  1. -- Create table
  2. CREATE TABLE #TestTable (StudentName VARCHAR(100), Course VARCHAR(100),
  3. Instructor VARCHAR(100), RoomNo VARCHAR(100))
  4. GO
  5. -- Populate table
  6. INSERT INTO #TestTable (StudentName, Course, Instructor, RoomNo)
  7. SELECT 'Mark', 'Algebra', 'Dr. James', '101'
  8. UNION ALL
  9. SELECT 'Mark', 'Maths', 'Dr. Jones', '201'
  10. UNION ALL
  11. SELECT 'Joe', 'Algebra', 'Dr. James', '101'
  12. UNION ALL
  13. SELECT 'Joe', 'Science', 'Dr. Ross', '301'
  14. UNION ALL
  15. SELECT 'Joe', 'Geography', 'Dr. Lisa', '401'
  16. UNION ALL
  17. SELECT 'Jenny', 'Algebra', 'Dr. James', '101'
  18. GO
  19. -- Check orginal data
  20. SELECT *
  21. FROM #TestTable
  22. GO
  23. -- Group by Data using column and XML PATH
  24. SELECT
  25.   StudentName,
  26.   STUFF
  27.   (
  28.     (
  29.       SELECT ', ' + Course + ' by ' + CAST(Instructor AS VARCHAR(MAX)) + ' in Room No ' + CAST(RoomNo AS VARCHAR(MAX))
  30.       FROM #TestTable
  31.       WHERE StudentName = StudentCourses.StudentName
  32.       FOR XML PATH ('')
  33.     ), 1, 2, ''
  34.   ) AS NameValues
  35. FROM #TestTable StudentCourses
  36. GROUP BY StudentName
  37. GO
  38. -- Clean up
  39. DROP TABLE #TestTable
  40. GO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement