Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 фильтрация по массиву строк  [new]
Osken
Member

Откуда: Алматы
Сообщений: 37
Здравствуйте!

Как вытащить из таблицы все записи где встречается хотя бы один элемент из массива строк?

Т.е. есть таблица, к примеру из двух столбцов id и name.

При поиске пользователь может задать сразу несколько слов. Мне нужно показать все записи где в поле name встречается хотя бы одно слово их заданных. Я думаю, нужно сплитнуть строку в массив и искать этот массив в поле. Но не знаю как искать.

MS SQL 2005.

Спасибо!
30 май 11, 17:28    [10733774]     Ответить | Цитировать Сообщить модератору
 Re: фильтрация по массиву строк  [new]
Glory
Member

Откуда:
Сообщений: 104751
- В MS SQL нет массивов
- Соединение двух таблиц осуществляется ключевым словом JOIN
30 май 11, 17:37    [10733864]     Ответить | Цитировать Сообщить модератору
 Re: фильтрация по массиву строк  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Osken,

что такое массив?
Надо всё, что ввёл пользователь сразу на клиенте вставить построчно во временную таблицу
и сформировать запрос с проверкой на входимость записей временной таблицы в текст основной.
То же самое, если на сервер пойдёт не сам запрос, а вызов процедуры, например.
Массивы и Списки в SQL Server
30 май 11, 17:38    [10733887]     Ответить | Цитировать Сообщить модератору
 Re: фильтрация по массиву строк  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Glory
- В MS SQL нет массивов
- Соединение двух таблиц осуществляется ключевым словом JOIN
В данном-то случае EXISTS() лучше подойдёт
30 май 11, 17:39    [10733899]     Ответить | Цитировать Сообщить модератору
 Re: фильтрация по массиву строк  [new]
Osken
Member

Откуда: Алматы
Сообщений: 37
Спасибо большое!
30 май 11, 17:44    [10733943]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить