-- for xml raw
select campo1, campo2 from tabla1 for xml raw ('nodo')
-- Usuarios por cada lista de distribución
select ld.IdLista, ld.Nombre Lista,
ISNULL(
STUFF(
(
SELECT '; ' + us.Nombre + ' ' + us.Apellidos
FROM ListaDistribucionUsuarioMM ldu
LEFT JOIN Usuario us on (us.IdUsuario = ldu.IdUsuario)
WHERE (ldu.IdListaDistribucion = ld.IdListaDistribucion)
ORDER BY us.Apellidos
FOR XML PATH ('')
), 1, 2, 'Usuarios: '
), 'Sin usuarios autorizados') AS [Usuarios_Autorizados]
from ListaDistribucion ld
order by ld.Nombre
IdLista Lista Usuarios_Autorizados
=== =============== ===========================
12 Alarmas R Usuarios: us1 us1; us2 us2
11 Lista A Usuarios: us1 us1; us3 us3
2 Lista CP Usuarios: us1 us1;
-- for xml raw select campo1, campo2 from tabla1 for xml raw ('nodo')
-- Usuarios por cada lista de distribución select ld.IdLista, ld.Nombre Lista, ISNULL( STUFF( ( SELECT '; ' + us.Nombre + ' ' + us.Apellidos FROM ListaDistribucionUsuarioMM ldu LEFT JOIN Usuario us on (us.IdUsuario = ldu.IdUsuario) WHERE (ldu.IdListaDistribucion = ld.IdListaDistribucion) ORDER BY us.Apellidos FOR XML PATH ('') ), 1, 2, 'Usuarios: ' ), 'Sin usuarios autorizados') AS [Usuarios_Autorizados]
from ListaDistribucion ld order by ld.Nombre
IdLista Lista Usuarios_Autorizados === =============== =========================== 12 Alarmas R Usuarios: us1 us1; us2 us2 11 Lista A Usuarios: us1 us1; us3 us3 2 Lista CP Usuarios: us1 us1;