Código MySQL:
Ver original film.film_id,
film.title,
(film
left join (film_category
inner join category
on category.category_id
= film_category.category_id
) on film_category.film_id
= film.film_id
) on film_actor.film_id
= film.film_id
No se si ganaras algo....
La opción mejor quizás es ir a sql estándar olvidarse de group concat... y usar programación externa para mostrar las cosas como quieres.
Tienes films sin ninguna categoría ni actor... eso es lo que te fuerza a usar el Left Join... podrías solucionarlo....
Otro tema GROUP_CONCAT(
distinct necesitas ese Distinct... una clave principal compuesta en las tablas film_category, film_actor te asegura que no habrá repeticiones y por tanto no necesitas ese distinct...
(la PK debe ser film_id+category_id y film_id+actor_id respectivamente)
Cualquier cosa antes de incurrir en esas malas practicas!!!!