Ett alternativ är att använda Cascading List of Values och ställ in tidigare objekt som "Moderobjekt(er)". En fråga för varje efterföljande urvalslistobjekt skulle ta bort tidigare valda värden, t.ex.
select subject_name d,
subject_id r
from subjects
where subject_id not in (:P1_FIRST_MAJOR, :P1_SECOND_MAJOR);
Men varför skulle du inte använda en Shuttle föremål istället? Erbjud alla ämnen och låt eleven välja något av dem, helt enkelt genom att flytta dem från vänster till höger sida av skyttelobjektet?