Estoy tratando de utilizar SQL para construir una lista separada por comas de cat_id de¿Creando una lista separada por comas?
el código es:
declare @output varchar(max)
set @output = null;
select @output = COALESCE(@output + ', ', '') + convert(varchar(max),cat_id)
de edición: se ha cambiado '' a nulo, TODAVÍA misma. pero la salida im conseguir es así:
, 66 , 23
la coma líder no debería estar allí. ¿Qué me he perdido?
Ok, lo he probado y funciona como está. Definitivamente lo recomendaría sobre la técnica de 'agregar a una variable'. –
¡qué es este wizardy salvaje de sql que has demostrado aquí! Begone demonios! – JDPeckham
Quería adjuntar a esta respuesta: para muchas declaraciones STUFF, desea que los parámetros sean 1 y 1, no 1 y 2 para crear una lista verdaderamente separada por comas. La respuesta de Matt usa 2 porque tiene un espacio después de cada coma. Para obtener más información, consulte el artículo de MSDN: http://msdn.microsoft.com/en-us/library/ms188043.aspx – Ryanman