Проблема поиска в SQL Server - PullRequest
       30

Проблема поиска в SQL Server

0 голосов
/ 10 августа 2010

Мне нужно искать в таблице элементы, которые имеют все мои желаемые значения в столбце, т.е. У меня есть таблица:

ID :    1 2 3 3 2 2 2 1 1 3
VALUE : 5 6 5 3 6 7 2 1 9 0

Я хочу дать StoredProc список значений, например («6,7,2»), и он возвращает мне все идентификаторы, которые имеют все заданные значения, в этом случае он только возвращает 2

Если бы я хотел найти те из них, которые хотя бы имеют одно из известных мне значений, я мог бы использовать «IN», но для всех значений я ничего не нашел.

Заранее спасибо

Афшин Арефи

1 Ответ

3 голосов
/ 10 августа 2010

В SQL Server 2008 вы можете использовать параметры табличных значений .

Они позволяют передавать таблицу значений в хранимую процедуру и обрабатывать ее как любую другую таблицу (используйте вподзапросы, объединения и т. д.)

В терминах запроса - если вы используете параметр табличного значения, вы можете запросить его для размера (сколько строк), используйте IN в сочетании с GROUP BY в поле ID и HAVING, который считает количество строк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...