parent nodes: FilasConcatenadasComas | SQLapuntes

FilasConcatenadasComas

Src: Josep Martínez
22/08/2016

Por ejemplo, tenemos un resultado en varias filas

SELECT ISOCODE 
  FROM LogisticsAddressCountryRegion 
 WHERE ISOCODE IN ('DE','AD','AI','AG','AR','AM','AW','AU','AT','AZ','BS','BH','BB','BY','BE','BZ','BM','BQ','BA','BW','BR','BN','BG','BI','CV','CL','CY','CO','KR','CR','HR','CW','DK','DM','EC','SV','SK','SI','ES','US','EE','FI','FR','GE','GI','GD','GR','GG','HN','HK','HU','IN','IE','IM','IS','KY','CK','FJ','FK','MH','TC','VG','IL','IT','JP','JE','KZ','KG','LS','LV','LR','LI','LT','LU','MO','MK','MW','MT','MA','MU','MX','MD','MC','MN','ME','MS','NA','NI','NU','NO','NZ','OM','NL','PA','PY','PE','PL','PT','PR','GB','CZ','DO','RO','RU','WS','KN','SM','VC','SH','LC','RS','SC','SZ','ZA','SE','CH','SR','TJ','TO','TT','TR','UA','UY','UZ','VU','VE')
	AND ANCLegalizationNoteCombo = 1
ORDER BY ISOCODE

AI
BI
BM
CL
FK
GG
GI
IM
JE
KY
MS
SH
TC
TJ
VG


y queremos una única fila con esos valores separados por comas

DECLARE @aux VARCHAR(1000) = ''

SELECT @aux = @aux + ISOCODE + ',' 
FROM LogisticsAddressCountryRegion 
WHERE ISOCODE IN ('DE','AD','AI','AG','AR','AM','AW','AU','AT','AZ','BS','BH','BB','BY','BE','BZ','BM','BQ','BA','BW','BR','BN','BG','BI','CV','CL','CY','CO','KR','CR','HR','CW','DK','DM','EC','SV','SK','SI','ES','US','EE','FI','FR','GE','GI','GD','GR','GG','HN','HK','HU','IN','IE','IM','IS','KY','CK','FJ','FK','MH','TC','VG','IL','IT','JP','JE','KZ','KG','LS','LV','LR','LI','LT','LU','MO','MK','MW','MT','MA','MU','MX','MD','MC','MN','ME','MS','NA','NI','NU','NO','NZ','OM','NL','PA','PY','PE','PL','PT','PR','GB','CZ','DO','RO','RU','WS','KN','SM','VC','SH','LC','RS','SC','SZ','ZA','SE','CH','SR','TJ','TO','TT','TR','UA','UY','UZ','VU','VE')
	AND ANCLegalizationNoteCombo = 1
ORDER BY ISOCODE

SELECT @aux as 'ISOCODE'
AI,BI,BM,CL,FK,GG,GI,IM,JE,KY,MS,SH,TC,TJ,VG,

Si no hay datos, devuelve una cadena vacía (sin ninguna coma) y sin que sea null, es decir ""