När du sammanfogar något med en null, returnerar den null. Så jag försöker sammanfoga ett kommatecken med det givna kolumnvärdet och om det uttrycket returnerar null använder jag Coalesce för att returnera en tom sträng. I slutet, om jag får ett värde, börjar hela resultatet med ett kommatecken. Så jag tar bort kommatecken med funktionen Stuff.
Select Stuff(
Coalesce(',' + FirstName,'')
+ Coalesce(',' + LastName,'')
+ Coalesce(',' + StreetAddress,'')
+ Coalesce(',' + City,'')
+ Coalesce(',' + Country,'')
+ Coalesce(',' + PostalCode ,'')
, 1, 1, '')
From Client
Om du bara vill ha adressen, så skulle du självklart bara inkludera dessa kolumner:
Select FirstName, LastName
, Stuff(
Coalesce(',' + StreetAddress,'')
+ Coalesce(',' + City,'')
+ Coalesce(',' + Country,'')
+ Coalesce(',' + PostalCode ,'')
, 1, 1, '')
From Client