Tratare de explicar completo que es lo que quiero:
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?
Deberías eliminar la 2º y 3º tabla te sobran.
Puedes hacer esto:
En la 1ra tabla [Libro] (id, titulo, descripcion, id_categoria, id_autor, categoria)
Entonces te saldrá la consulta sola.
Ok si, pero acuerdate que para un libro pueden haber varios autores. un numero indefinido de ellos. por eso es la tabla autor_a_libro
Bueno, pues espera a ver si esta noche me da tiempo y me creo una db y te lo resuelvo ¿Te urge mucho?
No mucho, puedo esperarme estos dias aun.. Tranquilo