Предложение SQL Where передает список в столбец - PullRequest
1 голос
/ 21 марта 2012

У меня есть какая-то таблица DOCUMENTS, в которой есть столбец TYPE_ID и таблица с именем TYPES Теперь я хочу сделать запрос, который отфильтровывает на моем DOCUMENTS весь документ со списком TYPE_ID, которыйможет быть одним элементом или сортировать элементы

Обычный запрос:

Select * From DOCUMENTS Where TYPE_ID = myValue

Но когда это может быть список известных элементов, wuery выглядит как

Select * From DOCUMENTS Where TYPE_ID = myValue1 or TYPE_ID = myValue2 or TYPE_ID = myValue3

Но если у вас есть n элементов .... как можно выполнить этот запрос?

1 Ответ

9 голосов
/ 21 марта 2012

Вы хотите IN пункт:

SELECT *
FROM  Documents 
WHERE Type_ID IN (myValue1, myValue2, myValue3)

В качестве примечания: если вы новичок в этом пункте, вы не можете сделать что-то вроде:

@myVar = '1,2,3'
select * FROM Documents where Type_ID in (@myVar)

Есть решения для чего-то подобного. Но я указываю на это, потому что, похоже, он появляется, когда люди плохо знакомы с предложением IN.

...