Vous pouvez utiliser For XML comme astuce pour y parvenir à partir de SQL Server 2005.
Select
A.name,
stuff((
select ',' + B.address
from Addresses B
WHERE A.id=B.name_id
for xml path('')),1,1,'')
From Names A
Cela fonctionne bien si vous n'avez pas déjà de virgules dans l'adresse, mais même si c'était le cas, puisque votre demande est de mettre des virgules entre elles... c'est probablement tout aussi "correct".