Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/11/2010, 12:51
progracvb
 
Fecha de Ingreso: noviembre-2010
Ubicación: Aqui y tu?
Mensajes: 5
Antigüedad: 13 años, 6 meses
Puntos: 0
Pregunta Consulta, lista con comas Coalesce Sql 2005

La situacion es la siguiente, dadas dos tablas como las siguientes con sus respectivos campos:

TblSolicitudCartas: IdSolicitudCarta int, vcSolicitudCarta varchar(100)
RelSolicitudCarta: IdSolicitudCarta int, IdCarta int
CatCarta: IdCarta int, vcCarta varchar(100)

TblSolicitudCarta es una tabla donde se almacenan las solicitudes de cartas.
RelSolicitudCarta es la relacion entre solicitudes y cartas.
CatCarta es el catálogo de cartas.

Necesito realizar un Stored Procedure que reciba como unico parámetro un IdSolicitudCarta y retorne una tabla teniendo como campos resultantes el IdSolicitudCarta, el nombre de la solicitud y una lista separada por comas de todas las cartas relacionadas a esa solicitud de carta

por ejemplo

CatCartas
IdCarta vcCarta
1 Carta1
2 Carta2
3 Carta3
4 Carta4
5 Carta5

RelSolicitudCarta
IdSolicitudCarta IdCarta
1 1
1 3
1 5

TblSolicitudCartas
IdSolicitudCarta vcSolicitudCarta varchar(100)
1 Solicitud1
2 Solicitud2

Si al Stored Procedured se le pasa como parametro un IdSolicitudCarta = 1
el resultado seria:
IdSolicitudCarta vcSolicitudCarta vcCartas
1 Solicitud1 Carta1,Carta3,Carta5

Si al Stored Procedured se le pasa como parametro un IdSolicitudCarta = 2
2 Solicitud2 Carta2,Carta4


Si al Stored Procedured se le pasa como parametro un IdSolicitudCarta = -1
1 Solicitud1 Carta1,Carta3,Carta5
2 Solicitud2 Carta2,Carta4

Encontre en http://www.macs68.net/?p=166 un ejemplo del uso de la funcion COALESCE para obtener una lista separada por comas.

Use DDBB_Name
GO

DECLARE @listStr VARCHAR(MAX)SELECT @listStr = COALESCE(@listStr+',' ,'') + name
FROM pick_list
Where category_id = 'Type' SELECT @listStr
GO


Pero no lobro el resultado esperado para este caso en especial, les agradezco infinitamente su apoyo.