Проблема поиска в SQL Server
-
27-09-2019 - |
Вопрос
Мне нужно искать в таблице для предметов, которые имеют все мои желаемые значения в столбце, т.е. у меня есть таблица:
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
Если бы я хотел искать те, которые, по крайней мере, имеют одно из ценностей, я знаю, я мог бы использовать «в», но иметь все значения, которые я ничего не нашел.
заранее спасибо
Afshin Arefi.
Решение
В SQL Server 2008 вы можете использовать Параметры значения таблицы.
Они позволяют вам пройти таблицу значений в сохраненную процедуру и лечить ее как любую другую таблицу (использование в подпрострах, присоединения и т. Д.).
С точки зрения запроса - если вы используете параметр значения таблицы, вы можете запросить его для размера (сколько строк), используйте IN
в сочетании с GROUP BY
на ID
поле и а HAVING
это считает количество строк.