Un'opzione consiste nell'utilizzare Elenco di valori a cascata e imposta gli elementi precedenti come "Articoli principali". La query per ogni successivo elemento dell'elenco di selezione rimuove i valori scelti in precedenza, ad es.
select subject_name d,
subject_id r
from subjects
where subject_id not in (:P1_FIRST_MAJOR, :P1_SECOND_MAJOR);
Tuttavia, perché non dovresti utilizzare una navetta oggetto invece? Offri tutte le materie e lascia che lo studente ne selezioni una, semplicemente spostandole da sinistra a destra dell'elemento navetta?