Один из способов сделать это - иметь скрытый параметр с именем @logic
.
. Вы уже знаете, что такое логика и какой запрос нужно выполнить для этой логики.
скажем,например, ваш текущий первый запрос -
select table1.columna as a from table1
, а текущий второй запрос -
select table2.columna as a from table2
.
select table1.columna as a from table1 where @logic = 0
union all
select table2.columna as a from table2 where @logic = 1
Ваш отчет будет передавать параметр @logic в набор данных в зависимости от логики.
В случае, если один набор @logic = 0, в случае два набор @logic = 1
Это вернет набор данных, который вам нужен, потому что где @logic должен заботиться о наборе результатов.
Надеюсь, мое объяснение имеет смысл.
Конечно ... это только один из способов приблизиться к этому!