SQL SERVER 2017: STRING_AGG
STRING_AGG is a function released in SQL Server 2017. The Oracle equivalent LIST_AGG has been available since 11gR2. In the meantime, SQL Server users have resorted to black magic in order to get string values from separate rows. STRING_AGG is very welcome but there are some gotchas to be aware of. Below is a simple example that works just like you think it would. SELECT STRING_AGG(FIrst_Name, ', ') WITHIN GROUP (ORDER BY First_Name) LIST FROM (SELECT DISTINCT First_name FROM [dbo].[Employee] WHERE First_Name like 'A%' OR First_Name like 'B%') A ORDER BY LIST; You can run the query on any database you have string values and you will get something like this: A David, Aaren, Aaron, Abdul, Bob, Brian... If you want to split by the first letter of the name, do not make the mistake of using an over clause. You will get an error stating STRING_AGG is not a window function....