• Again, the original query produces a list of "programs" that a "player" and or "member" from a particular family are eligible to register for. The result set needs to exclude players or members that have already signed up for a given program.

    Isn't it as simple as taking the Eligible list and subtracting the "already signed up" list?

    SELECT e.ProgramID, e.PlayerID

    FROM eligible e

    WHERE NOT EXISTS (SELECT 1 FROM Membership WHERE ProgramID = e.ProgramID AND PlayerID = e.PlayerID)