Použijte index založený na funkcích:
create unique index only_one_yes on mytable
(case when col='YES' then 'YES' end);
Oracle indexuje pouze klíče, které nejsou zcela null, a výraz CASE zde zajišťuje, že všechny hodnoty 'NO' budou změněny na null a nebudou tedy indexovány.