select distinct ID, stuff(years.List, 1, 1, '') [OUTPUT] from YourTableNameHere t cross apply ( select ';' + [School Year] from YourTableNameHere where ID = t.ID order by [School Year] for xml path('') ) years(List);Please read the referenced articles if you would like to learn about the details. [1]: https://docs.microsoft.com/en-us/sql/t-sql/functions/string-agg-transact-sql [2]: https://docs.microsoft.com/en-us/sql/relational-databases/xml/for-xml-sql-server
18 People are following this question.