Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   SQL Server (http://www.forosdelweb.com/f87/)
-   -   Como concatenar la informacion de varios registros en un solo campo (http://www.forosdelweb.com/f87/como-concatenar-informacion-varios-registros-solo-campo-389466/)

Dabeto 28/04/2006 15:24

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.

PequeñoMauro 28/04/2006 15:39

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....

claray 05/05/2006 15:06

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.