Displaying items not in a linked field table

The overall goal is to show what trainings a person has not taken yet. I have a table that lists all training modules, a table listing roles that is linked to the trainings table to indicate which trainings are required for each role, a table for people that is linked to roles, and table for completed trainings linked to person and training. I need to show, for each person, trainings that are required for their role(s), but that have NOT been completed. How can this be accomplished?