SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 02.12.2009 17:23:00

sito-corito
Завсегдатай
Зарегистрирован: 13.07.2008
Сообщений: 53

Поиск данных в нескольких таблицах одновременно

В процессе разработки сайта у меня возникла такая проблема.
На сайте должен быть поиск по ключевым словам. Есть две разные таблицы, в которых хранятся разные данные, но в которых надо производить поиск и искать ключевые слова. Т.е. поиск, подчёркиваю, должен быть одновременно в двух таблицах, у каждой их которых есть столбец с текстовыми данными. Объединить две таблицы в одну типовую не получится, но поиск нужен именно из двух таблиц, иначе поиск на сайте будет мягко говоря бесполезным.
Есть ли возможность поиска и сортировки данных одновременно из двух разных таблиц, но чтобы можно было оперировать результатами поиска, как будто они извлечены из одной таблицы? У таблиц могут быть похожие поля, по которым можно сделать сортировку.

Неактивен

 

#2 02.12.2009 17:59:57

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Поиск данных в нескольких таблицах одновременно

Если Вы будете использовать полнотекстовый поиск, то можно попробовать
соорудить какого-нибудь страшного зверя. Оператор MATCH() возвращает
вес строки, и можно в первом приближении использовать это:

SELECT MATCH(field) AGAINST ('keyword') AS weight
FROM tablename
WHERE MATCH(field) AGAINST ('keyword') > 0

И дальше уже пытаться объединить строки из двух получившихся выборок.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson