Предполагам, че не искате да използвате параметър с множество стойности тук искате потребителите да работят само срещу всички компилации или само една, а не селекция от компилации. В противен случай просто бихте използвали стандартен параметър с множество стойности .
Един от начините да направите това е да върнете допълнителен ред за всички компилации във вашия набор от данни за параметри, напр. нещо като:
select buildId as null, build = 'All'
union all
select buildId = build, build
from builds
Връщам две колони тук, за да можем да предадем параметър със стойност NULL, но все пак да имаме удобно за потребителя описание за показване в отчета.
Настройте това като ваш набор от данни за параметри. След това в кода на отчета можете да използвате параметъра, за да направите нещо като:
select *
from builds
where (@build is null or @build = build)
Което ще върне всички компилации, когато @build
е нула и е указана компилация, ако @build
не е нула.