Как построить один SQL-запрос для QSQLite для текстового поиска по таблице - PullRequest
0 голосов
/ 06 февраля 2012

я использую QSQLite в Qt 4.8 и пытаюсь выполнить полнотекстовый поиск
я пытаюсь найти, чтобы построить запрос, который преформирует текстовый поиск, используя LIKE и% str%
или, может быть, другой запрос.
у меня есть таблица с N столбцами, и я хотел бы построить запрос, поэтому, если я ищу "foo"
в результате я получу все строки, которые часть или все строки в одном из столбцов содержит «foo». Каков наилучший способ сделать это в SQLite?

1 Ответ

2 голосов
/ 06 февраля 2012

Вы можете использовать Расширения SQLite FTS3 и FTS4

Цитирование образцов документации:

-- Example schema
CREATE VIRTUAL TABLE mail USING fts3(subject, body);

-- Example table population
INSERT INTO mail(docid, subject, body) VALUES(1, 'software feedback', 'found it too slow');
INSERT INTO mail(docid, subject, body) VALUES(2, 'software feedback', 'no feedback');
INSERT INTO mail(docid, subject, body) VALUES(3, 'slow lunch order',  'was a software problem');

-- Example queries
SELECT * FROM mail WHERE mail    MATCH 'software';    -- Selects rows 1, 2 and 3
SELECT * FROM mail WHERE mail    MATCH 'slow';        -- Selects rows 1 and 3

Обратите внимание, что это выглядит для вашего шаблона во всех столбцах таблицы!

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