Life is a life... We are the humans...
помогите написать простенький поисковик по полям в бд (mysql)... поля в разных таблицах, при этом надо результат отсортировать по релевантности (то есть не просто выбор table.field LIKE %sometext% table2.field2 LIKE %sometext%, а что-то умнее)...
и ещё, как делать поиск по найденному? хранить поля, в которых поиск уже был, очень нехочется...
есть таблица table1 с полями id, ...
есть таблица table2 с полями id, parent, status, ...
надо выбрать поля из table1 такие, что table2.parent = table1.id, table2.status = 1;
только записей в table2 c полем parent равным id может быть не одна, но поля table1 должны быть выбраны только один раз (то есть LIMIT 1 не катит, т.к. LIMIT здесь отрежет следующие строки в table1).. и сделать это всё за один запрос...
бд mysql, язык php... особенно меня интерисует поиск по найденому)
и ещё, как делать поиск по найденному? хранить поля, в которых поиск уже был, очень нехочется...
есть таблица table1 с полями id, ...
есть таблица table2 с полями id, parent, status, ...
надо выбрать поля из table1 такие, что table2.parent = table1.id, table2.status = 1;
только записей в table2 c полем parent равным id может быть не одна, но поля table1 должны быть выбраны только один раз (то есть LIMIT 1 не катит, т.к. LIMIT здесь отрежет следующие строки в table1).. и сделать это всё за один запрос...
бд mysql, язык php... особенно меня интерисует поиск по найденому)
-
-
21.08.2005 в 19:30По поводу второго пока думаю.
-
-
21.08.2005 в 21:25второй кстати по идее решается SELECT DISTINCT или LEFT JOIN тока я ещё не тестил...
-
-
22.08.2005 в 12:39FROM (
SELECT table1.*, table2.status
FROM table1
LEFT JOIN table 2 ON table2.parent=table1.id
WHERE table2.status=1)
WHERE ...
?
-
-
22.08.2005 в 12:41-
-
22.08.2005 в 13:28лан, на релевантность можно забить.. а как поиск в найденном делать??
-
-
23.08.2005 в 08:562) если мускуль ниже четвёрки или метод 1) не катит, то или хранить результаты во временной таблице с последующей выборкой, или организовывать подобие двухшаговой формы, где "искать в найденном" - аналог второго шага. при этом данные исходного поиска выбираются каждый раз, а если надо, то сохраняются потом в массиве, который просматривается на присутствие "искать в найденном"
-
-
23.08.2005 в 13:39временных таблиц слишком много прийдётся создавать, поиск по разным таблицам идёт... хотя хороший вариант...
вот последний вариант неплохой..
сенкс...
-
-
23.08.2005 в 16:011) если мускуль версии 4+, то обвесить вышеописанный запрос ещё одним селектом с параметрами "что найти в найденном". если прокатит.
-
-
23.08.2005 в 16:02ну вроде же UNION как раз селекты и объединяет...
-
-
23.08.2005 в 16:07-
-
23.08.2005 в 16:19хм) ок... *ушёл читать ман*
-
-
24.08.2005 в 00:35-
-
26.08.2005 в 18:15