Это начинает становиться довольно сложным.Я мог бы порекомендовать подход join
:
select t.*
from table t join
(values (0, 1), (0, 2), (0, 5), (0, 6), (0, 10), (0, 11),
(1, 1), (1, 5), (1, 6), (1, 10), (1, 11),
(2, 2)
) v(slos, id)
on t.slos = @showListedOrSold and
v.id = s.id
Вы можете легко развернуть это, чтобы показать все строки, если переменная null
:
on (t.slos = @showListedOrSold and
v.id = s.id
) or
@showListedOrSold is null