Если вам нужны некоторые значения из Таблицы1, ваш запрос должен выглядеть следующим образом:
select T1.*
from Table1 as T1
where T1.ID in (select T2.Table1ID
from Table2 as T2
where T2.Table2ID in (1, 2))
Нет способа создать представление и позволить добавить фильтр в (1, 2)в качестве предложения where для запроса представления.
Ваш пример запроса к представлению извлекает только столбец ID, поэтому для получения этой информации вам не нужно включать Table1
в запрос.
select distinct T2.Table1ID as ID
from Table2 as T2
where T2.Table2ID in (1, 2)
Вы можете создать это представление (без части distinct
), но это не имеет особого смысла, не так ли?
create view v_Table2
as
select Table1ID, Table2ID
from Table2
Использовано так:
select distinct T2.Table1ID as ID
from v_Table2 as T2
where T2.Table2ID in (1, 2)
Представление не добавляет значения.