Tengo 4 tablas enlazadas entre si con las foregein key.
En la 1ra tabla [Libro] (id, titulo, descripcion, id_categoria)
En la 2da tabla [Categoria] (id, categoria)
En la 3ra tabla [Autor_Libro] (id_autor,id_libro)
En la 4ta tabla [Autor] (id, nombre, apellido)
Entonces haciendo un query normal con Inner Join me arroja los resultados pero mas o menos asi:
ID | Titulo | Descripcion | Categoria | Autor |
1 | El libro | 08/04/2012 | Comedia | Juan |
1 | El libro | 08/04/2012 | Comedia | Pedro |
1 | El libro | 08/04/2012 | Comedia | Maria |
2 | El libro2 | 08/04/2012 | Comedia | Pedro |
2 | El libro2 | 08/04/2012 | Comedia | Maria |
Si a la consulta le pongo un GROUP BY libro.id
ID | Titulo | Descripcion | Categoria | Autor |
1 | El libro | 08/04/2012 | Comedia | Juan |
2 | El libro2 | 08/04/2012 | Comedia | Maria |
Lo que quiero es alguna forma de agrupar los autores por el libro, osea que me muestre asi
ID | Titulo | Descripcion | Categoria | Autor |
1 | El libro | 08/04/2012 | Comedia | Juan, Pedro, Maria |
2 | El libro2 | 08/04/2012 | Comedia | Pedro, Maria |
lo hice con un query dentro del query, pero supongo que es incorrecto porq solo me muestra el primer resultado, osea el ID 1.
Como deberia hacer la consulta?
PD: No puedo colocar en libro algo como un id_autor, ya que el numero de autores para un libro no esta definido