Kommaseparierte Liste – Implode (XML)

 

SELECT
	a.AccountID
	,STUFF(
		(SELECT '; ' + Coalesce(Lastname,'')+Coalesce(', '+Firstname,'')
		 FROM Contact c
		 Where c.AccountID = a.AccountID
		 FOR XML PATH('')
		)
		, 1, 2, '')
	    As concatenated_string
FROM Account a
order by a.accountid

Hinweis: Falls der Ergebnis-String nicht größer wird als 4000 bzw. 8000 Zeichen, dann könnte auch „STRING_AGG“ benutzt werden!