powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как прогнать одну таблицу по всем значениям из другой Full-Text Search
4 сообщений из 4, страница 1 из 1
Как прогнать одну таблицу по всем значениям из другой Full-Text Search
    #39408577
sqlfs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня есть таблица tblMain с текстовыми полями. Есть справочник Наименований tblName.
Мне нужно в tblMain.Drug "распознать" тестовое поле которое может соответствовать названию из справочника tblName.Prep .
Вся проблема в том, что нужно это сделать как Full-Text Search.
Перепробывал многое:
1. MySQL Fulltext Index
2. Sphinx
но как-то у меня ничего не выходит:
1. Fulltext Index синтаксис MATCH([field] [value])
опять же не нашел толкового варинта, чтобы можно было прогнать каждую из записей по все таблице Справочника.
Ну только если функцию:
....
RETURN (SELECT *
MATCH(tblMain.drugApt) AGAINST (@val IN BOOLEAN MODE)
)
....
Но при таком раскладе я могу прогнать сам справочник по таблице tblMain. А нужно по сути наоборот.

2. У сфинкса нету также такой возможности, пробовал прогонять каждое tblMain.Drug при помощи PHP по всему Справочнику - это убийство.

Подскажите варианты....
...
Рейтинг: 0 / 0
Как прогнать одну таблицу по всем значениям из другой Full-Text Search
    #39408722
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sqlfsпри таком раскладе я могу прогнать сам справочник по таблице tblMain. А нужно по сути наоборотВо бред-то... "При таком раскладе" ты можешь "прогнать" каждую пару MATCH (значение поля записи одной таблицы) AGAINST (значение поля записи другой таблицы). Или у тебя справочник - на бумаге напечатанный?

В общем, сделай запрос
Код: sql
1.
2.
3.
4.
5.
6.
SELECT tblMain.Drug
-- SELECT tblName.Prep
     , MAX(MATCH (tblMain.Drug) AGAINST (tblName.Prep IN BOOLEAN MODE)) MaxMatch
FROM tblMain, tblName
GROUP BY tblMain.Drug
-- GROUP BY tblName.Prep


Он для каждого tblMain.Drug (а если перекомментировать - для каждого tblName.Prep) даст максимальный Match среди всех. Используй его как подзапрос для отбора конкретных записей второй таблицы, дающих это значение Match - получишь нужные тебе пары. Ну а дальше - ручками да глазками...
...
Рейтинг: 0 / 0
Как прогнать одну таблицу по всем значениям из другой Full-Text Search
    #39408759
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaAGAINST (значение поля записи другой таблицы)
Неа, mysql так не умеет .
авторThe search string must be a string value that is constant during query evaluation
...
Рейтинг: 0 / 0
Как прогнать одну таблицу по всем значениям из другой Full-Text Search
    #39408775
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гм... подзабыл, видимо - давно не использовал. Ну тады процедура, курсор и препарация, куда деваться.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как прогнать одну таблицу по всем значениям из другой Full-Text Search
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]