This should do it:
declare @search_value varchar(3)
select @search_value = 'GHI'
Select
ID
from
Test
where
OP1 = @search_value and
(
(OP2 is null ) or
(OP2 = @search_value and OP3 is null ) or
(OP2 = @search_value and OP3 = @search_value )
)
CODO ERGO SUM