Вот точное значение logi c для применения случая, когда в предложении where для сопоставления разных столбцов с разными параметрами.
SELECT *
FROM [Table]
WHERE
CASE @Parameter
WHEN value1 THEN Column1
WHEN value2 THEN Coumn2
END
=
CASE @Parameter
WHEN value1 THEN @ParameterValue1
WHEN value2 THEN @ParameterValue2
END
Здесь, в зависимости от значения параметра, мы выбираем столбец и соответствующее значение, в котором пункт.