Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

chaîne d'agrégation tql pour grouper par

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".