Bases de Datos > SQL Server
Concatenar Un Campo De Varias Filas
trentia:
Hay varias maneras de hacerlo, pero la más fácil puede ser create una función de usuario dentro del SQL.
En esta función le pasamos por ejemplo un identificador y mediante cursores vamos metiendo los valors que vengan en una variable de tipo string.
La función de usuario que devuelva este string y desde tu SQL realizas la llamada a la función.
Por ejemplo:
SELECT dbo.MiFuncionUsuario(12) ....
create function MiFuncionUsuario ...
Saludos
Javier Tirado
IT Consultor
TRENTIA Consulting
BUSINESS INTELLIGENCE
lencho:
eso lo tuve que resolver desde Visual Basic, con otra consulta, pero me gustaria poder hacerlo en SQL, pero todavia no he podido, seguire intentando.
BYTE.
Soultaker:
Eso tambien lo podrias hacer, creandote un STORE PROCEDURE, ahora no tengo instalado el SQL, dejame que lo instalo y lo tratare de hacer.
Saludos
:comp:
lencho:
Me cree este procedure con un cursor dentro, que me soluciono el problema, ya era hora que pudiera hacerlo.
--- Código: Text ---CREATE PROCEDURE Concatenar @idProd int, @salida varchar(100) outputasDeclare @Descripcion varchar(20) Declare MiCursor Cursor ForSELECT Modelo.Descripcion from Modelo, ModeloProducto where Modelo.idModelo = ModeloProducto.idModelo and ModeloProducto.idProducto = @idProd Open MiCursorFetch Next From MiCursorInto @Descripcionif @@Fetch_status = 0begin set @salida = ' ' Declare @contador int set @contador = 1 While @@Fetch_status = 0 Begin if @contador = 1 set @salida = @Descripcion else set @salida = @salida + ', ' + @Descripcion set @contador = @contador +1 Fetch Next From MiCursor Into @Descripcion endendelsebegin Close MiCursor Deallocate MiCursor return(1)endClose MiCursorDeallocate MiCursorGO Yo no sabia esta parte de SQL (lo de transact, cursores, etc), mas bien y estoy aprendiendo :D :D :D
BYTE.
Navegación
[*] Página Anterior
Ir a la versión completa