Запрос на несоответствие списку

LeCrunch
Дата: 05.03.2008 22:39:19
Есть таблица с парой десятков полей, к которой нужно применить запрос, заключающийся в исключении из нее строк, если хотя бы в одной ячейке строки встречаются заранее определенные слова из набора (около десятка слов; при необходимости будет создана спецтабличка с ними).

Помогите пожалуйста решить эту задачу...

Можно ли с ней справиться только с помощью SQL?
Karfaqen
Дата: 05.03.2008 22:44:54
LeCrunch
исключении из нее строк, если хотя бы в одной ячейке строки встречаются заранее определенные слова из набора
Уточните.
Для исключения записи - в любой ее отдельно взятой ячейке значение должно ПОЛНОСТЬЮ совпадать с ОДНИМ из слов данного набора?
Karfaqen
Дата: 05.03.2008 23:02:26
Вобщем например, можно в таком духе:
SELECT * FROM [таблица] WHERE
[поле1] NOT IN ("слово1","слово2","слово3") AND
[поле2] NOT IN ("слово1","слово2","слово3") AND
[поле3] NOT IN ("слово1","слово2","слово3")
и т.п.

Вместо списка значений (для варианта с табличкой-словарем) можно написать:
(SELECT [полеСлова] FROM [ТаблицаСлов])
LeCrunch
Дата: 05.03.2008 23:16:44
Karfaqen
Для исключения записи - в любой ее отдельно взятой ячейке значение должно ПОЛНОСТЬЮ совпадать с ОДНИМ из слов данного набора?

Для исключения записи - достаточно, чтобы одно из содержащихся в отдельно взятой ячейке слов, совпадало с ОДНИМ из слов данного набора.

Т.о. в запрос нужно добавить звёздочки?
Karfaqen
Дата: 05.03.2008 23:31:19
автор
Для исключения записи - достаточно, чтобы одно из содержащихся в отдельно взятой ячейке слов, совпадало с ОДНИМ из слов данного набора.
Нет, суть моего вопроса состояла в том, содержатся-ли в этих 20-и полях слова ПО-ОДНОМУ?

Или же там (в любом из этих 20-полей) хранятся какие-то длинные тексты, в которых куча слов - и вот СРЕДИ этих слов могут быть те самые отдельные слова, при нахождении которых надо исключать эту запись. Как?
Karfaqen
Дата: 05.03.2008 23:48:29
Есть таблица с парой десятков полей
Если в этой таблице есть поле уникального кода записи (id), то так попробуйте:
SELECT * FROM Таблица WHERE id NOT IN (
SELECT Таблица.id FROM Таблица, Словарь WHERE
(Таблица.поле1 LIKE "*" & Словарь.Слово & "*" OR 
 Таблица.поле2 LIKE "*" & Словарь.Слово & "*"))
LeCrunch
Дата: 06.03.2008 07:11:22
Karfaqen
Или же там (в любом из этих полей) хранятся какие-то длинные тексты, в которых куча слов - и вот СРЕДИ этих слов могут быть те самые отдельные слова, при нахождении которых надо исключать эту запись.

Да, этот случай
Karfaqen
Дата: 06.03.2008 08:48:23
Да, этот случай
Ну вот последний запрос - как раз для него.