where
(first_condition and not second_condition) or
(second_condition and not first_condition)
or
where
(case when first_condition then 1 else 0 end +
case when second_condition then 1 else 0 end) = 1
or
select * from
(
select col1, col2, ...
from tab
where first_condition
union all
select col1, col2, ...
from tab
where second_condition
) dt
group by col1, col2, ...
having count(*) = 1
Dieter