Quando você concatena qualquer coisa com um null, ele retorna null. Então, estou tentando concatenar uma vírgula com o valor da coluna fornecido e, se essa expressão retornar nulo, uso Coalesce para retornar uma string vazia. No final, se eu obtiver um valor, todo o resultado começará com uma vírgula. Então eu removo essa vírgula usando a função Stuff.
Select Stuff(
Coalesce(',' + FirstName,'')
+ Coalesce(',' + LastName,'')
+ Coalesce(',' + StreetAddress,'')
+ Coalesce(',' + City,'')
+ Coalesce(',' + Country,'')
+ Coalesce(',' + PostalCode ,'')
, 1, 1, '')
From Client
Se você quiser apenas o endereço, obviamente você incluirá apenas essas colunas:
Select FirstName, LastName
, Stuff(
Coalesce(',' + StreetAddress,'')
+ Coalesce(',' + City,'')
+ Coalesce(',' + Country,'')
+ Coalesce(',' + PostalCode ,'')
, 1, 1, '')
From Client