te lo doy como consejo lo de la tabla intermedia, es para tener una buena cultura de disenio de bases de datos, segun veo tus tablas no estan normalizadas, pero si ves que asi te funciona como tu deseas y que cambiarlo es mucho trabajo, puedes dejarlo asi solo era una sugerencia, suerte