Microsoft SQL server Просмотр нескольких условных операторов с UNION - PullRequest
0 голосов
/ 19 марта 2020

Есть ли способ добиться следующего поведения на сервере Microsoft SQL?

Представление с несколькими операторами SQL, которые могут быть вызваны в соответствии с параметрами, переданными представлению.

Представление должно выглядеть следующим образом:

if param.contains "a"

  select name from table1

if param.contains "b"

  select name from table2

if param.contains "c"

  select name from table3

Между всеми IF я хочу иметь UNION, так что, если выполняется более одного условия, результатом будет UNION результатов всех этих условий.

Представление будет вызываться таким образом, например (psuedo):

SELECT * FROM myView where param IN {"a", "b"}

1 Ответ

1 голос
/ 19 марта 2020

Вы, кажется, хотите:

create view myview as
select 'a' cat, name from table1
union all select 'b', name from table2
union all select 'c', name from table3

Затем вы можете запросить представление следующим образом:

select * from myview where cat in ('a', 'b');
...