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.