Hola, dejo mi consulta más reciente (utilizo otros left join, agrego un where al final) y una mejor explicación:
Código:
SELECT l.id_libro, l.nombre, l.descripcion, d.id_docu, d.nombre, u.id_usuario, u.nombre, g.nombre
FROM libros l
INNER JOIN documentos d ON l.id_libro = d.id_libro
LEFT JOIN usuarios u ON l.id_usuario = u.id_usuario
LEFT JOIN grupos g ON u.id_usuario = g.id_usuario
WHERE l.nombre = 'nombre del libro'
Cita: Asumo que la g equivale a la tabla grupos. Donde la relacionas?
Con que tabla(s) se relaciona grupos?
La tabla "grupos" se relaciona con la tabla "usuarios" (se comprueba si el usuario tiene ya un grupo o no).
Cita: El ultimo left join usuarios, haces la comparación entre el id_usuario e id_libro? por que?
Para comprobar si el usuario existente tiene un grupo creado, uso LEFT JOIN para que devuelva NULL en caso de no tener ninguno.
He corregido el "id", en vez de "id_libro" era "id_usuario", ahi quizá le ves más sentido.
Finalmente me muestra lo que deseo, pero quiero saber si mi consulta está bien desarrollada, el orden en general y left join's.
Gracias nuevamente.