Concatenar string y devolver solo una columna

13/12/2004 - 19:18 por Carlos A. Díaz | Informe spam
Hola, quisiera hacer un sp que me devuelva por cada registro una string con,
por ejemplo los permisos de cada usuario.

Gracias por la ayuda

Carlos

Preguntas similare

Leer las respuestas

#1 ulises
13/12/2004 - 19:37 | Informe spam
La verdad que no te entendí, ¿podrías ser un poco más
específico sobre lo que tienes y cual es el resultado que
deseas?

Saludos,
Ulises

Mostrar la cita
registro una string con,
Mostrar la cita
#2 Carlos A. Díaz
13/12/2004 - 20:06 | Informe spam
perdon, el resultado que quisiera es

ID NOMBRE ROLES
1 CARLOS Rol1,Rol2
2 Pepe Rol2,Rol3,Rol4

que el sp me devuelva en el campo Roles la concatenacion del resultado de un
conjunto de filas

Me explico ?

"ulises" escribió en el mensaje
news:352001c4e142$c92c95d0$
La verdad que no te entendí, ¿podrías ser un poco más
específico sobre lo que tienes y cual es el resultado que
deseas?

Saludos,
Ulises

Mostrar la cita
registro una string con,
Mostrar la cita
#3 Carlos Enrique Morales
13/12/2004 - 22:16 | Informe spam
¿Algo así como esto?

use pubs

declare @nombres varchar(4000)
set @nombres = ''

select @nombres = @nombres +
'|' +
stor_name
from stores

select "Nombres de Tiendas" = @nombres

En la variable @nombres se concatena el valor almacenado en el atributo
stor_name de cada tupla de la entidad stores


"Carlos A. Díaz" <carlosadiaz[nos pa m]@uolsinectis.com.ar> escribió en el
mensaje news:
Mostrar la cita
#4 Liliana Sorrentino
16/12/2004 - 19:26 | Informe spam
Hola Carlos,
Al no tener la estructura de tus tablas no es fácil, pero fijate este
ejemplo, tal vez puedas adaptar tu información como ésta.
Saludos, Liliana.

create table #Tareas
(TabId smallint,
TabNombre varchar(40),
TabOrden smallint)

insert #Tareas values ( 1, 'Consulta', 1)
insert #Tareas values ( 2, 'Actualizacion', 2)
insert #Tareas values ( 3, 'Borrado', 3)

create table #Roles
(RoleId smallint,
RoleNombre varchar(40))

insert #Roles values ( 1, 'Usuario')
insert #Roles values ( 2, 'Dueño')
insert #Roles values ( 3, 'Administrador')
insert #Roles values ( 4, 'Invitado')

create table #Tareas_Roles
(TabId smallint,
RoleId smallint)

insert #Tareas_Roles values ( 1, 1)
insert #Tareas_Roles values ( 1, 2)
insert #Tareas_Roles values ( 1, 3)
insert #Tareas_Roles values ( 1, 4)
insert #Tareas_Roles values ( 2, 2)
insert #Tareas_Roles values ( 2, 3)
insert #Tareas_Roles values ( 3, 3)


SELECT #Tareas.TabId,
#Tareas.TabNombre,
Autorizados COALESCE(MAX(CASE #Tareas_Roles.RoleId WHEN 1 THEN #Roles.RoleNombre
+ ',' END), SPACE(0)) +
COALESCE(MAX(CASE #Tareas_Roles.RoleId WHEN 2 THEN #Roles.RoleNombre
+ ',' END), SPACE(0)) +
COALESCE(MAX(CASE #Tareas_Roles.RoleId WHEN 3 THEN #Roles.RoleNombre
+ ',' END), SPACE(0)) +
COALESCE(MAX(CASE #Tareas_Roles.RoleId WHEN 4 THEN #Roles.RoleNombre
+ ',' END), SPACE(0))
FROM #Tareas
INNER JOIN #Tareas_Roles ON #Tareas.TabId = #Tareas_Roles.TabId
INNER JOIN #Roles ON #Tareas_Roles.RoleId = #Roles.RoleId
GROUP BY #Tareas.TabId,
#Tareas.TabNombre

drop table #Tareas
drop table #Roles
drop table #Tareas_Roles


"Carlos A. Díaz" <carlosadiaz[nos pa m]@uolsinectis.com.ar> escribió en el
mensaje news:
Mostrar la cita
un
Mostrar la cita
#5 Carlos A. Díaz
17/12/2004 - 14:46 | Informe spam
Muchas gracias Liliana segun la el ejemplo de Carlos

Saludos

"Liliana Sorrentino" escribió en el mensaje
news:
Mostrar la cita
Ads by Google
Search Busqueda sugerida