![]() |
Como concatenar la informacion de varios registros en un solo campo Bueno aqui les envio un poco mas de informacion. Resulta que estoy trabajando un proyecto para una biblioteca, en el momento tengo que realizar una consulta en la que necesito mostrar en un solo registro el titulo del libro, todos los autores y la signatura topografica del libro. Tengo una tabla con los libros, y otra con los autores, como un libro puede tener uno o mas autores, la consulta me retorna el mismo registro el numero de veces como autores tenga el libro. Lo que necesito como ya mencione anteriormente es que los nombres de los autores me salgan en un solo registro. |
Puedes crear una función a la que le mandas como parámetro el código del libro, con ese parámetro haces la consulta de cuantos autores tiene. Es decir en la función usas un cursor en el cual estaria la consulta de cuantos autores tiene el libro. Recorres el cursor y por registro vas concatenando los autores y guardandolo en una variable.... |
Esta funcion lo hace... le pasas un numero que esta asociando los valores a otra tabla y te devuelve los campos concatenados (fijate que le pone una coma para separar): CREATE FUNCTION dbo.concatena (@numero varchar(10)) RETURNS varchar(5000) AS BEGIN declare @retvalue varchar(5000) set @retvalue='' select @retvalue = @retvalue +ltrim(rtrim(isnull(NOMBRE,'')))+',' from (select nombre from TABLA_ORIGEN as s where s.numero = @numero) as tmp_tbl return substring(@retvalue,1,len(@retvalue)-1) END saludos y suerte |
| La zona horaria es GMT -6. Ahora son las 11:28. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.