Det finns ingen riktig teknik att lära sig här. Det är bara ett gulligt trick att sammanfoga flera rader med data till en enda sträng. Det är mer en udda användning av en funktion än en avsedd användning av XML
formateringsfunktion.
SELECT ',' + ColumnName ... FOR XML PATH('')
genererar en uppsättning kommaseparerade värden, baserat på att kombinera flera rader med data från ColumnName
kolumn. Det kommer att producera ett värde som ,abc,def,ghi,jkl
.
STUFF(...,1,1,'')
Används sedan för att ta bort det inledande kommatecken som det föregående tricket genererade, se STUFF
för detaljer om dess parametrar.
(Konstigt nog brukar många hänvisa till den här metoden för att generera en kommaseparerad uppsättning värden som "STUFF-metoden" trots STUFF
bara ansvarar för en sista bit av trimning)