Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Como hago para unir muchos registros de una consulta en uno solo?

Estas en el tema de Como hago para unir muchos registros de una consulta en uno solo? en el foro de Bases de Datos General en Foros del Web. Hola: Tengo este inconveniente: Tengo la tabla autor: que tiene id y nombre, y tengo la tabla libro que tiene id, libro, y tengo la ...
  #1 (permalink)  
Antiguo 12/08/2003, 21:02
 
Fecha de Ingreso: abril-2003
Ubicación: Bogota
Mensajes: 131
Antigüedad: 21 años
Puntos: 2
Como hago para unir muchos registros de una consulta en uno solo?

Hola: Tengo este inconveniente:

Tengo la tabla autor: que tiene id y nombre, y tengo la tabla libro que tiene id, libro, y tengo la tabla libroautor que tiene id_libro,id_autor

Ahora.. Resulta que si un libro tiene 2 o mas autores, en el query me aparece duplicado el record, osea me sale el mismo libro pero con diferente autor, y asi tantos autores diferentes tenga el libro,

Lo que necesito es que me saque solo un libro, sin importar la cantidad de autores

Pero que la consulta tambien me traiga la informacion de los autores, puede ser en un campo mas de la consulta..



Osea necesito que me salga algo asi

id libro autores
1 libro1 autor1,autor2,autor3

y no que me salga esto...

id libro autores
1 libro1 autor1
1 libro1 autor2
1 libro1 autor3


Ustedes diran que porque no hago dos querys diferentes y listo.... pero necesito que esta informacion salga en UN SOLO QUERY

Esto es posible de hacer....

Osea convertir las filas de una consulta en un vector. para ser exacto



gracias
  #2 (permalink)  
Antiguo 13/08/2003, 08:26
 
Fecha de Ingreso: agosto-2003
Mensajes: 448
Antigüedad: 20 años, 8 meses
Puntos: 1
Fijate en las consultas de referencias cruzadas, hay un tutorial en:
http://www.aulaclic.org/sql/f_sql.htm

Dependiendo del gestor de base de datos, podes crear una función que te retorne en un String los nombres de los autores.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:26.