Такой вопрос как осуществить поиск на сайте используя MySql если имеется несколько таблиц???
Спустя 2 минуты, 24 секунды (24.04.2011 - 21:56) inpost написал(а):
Sailor
либо несколько отдельных запросов с LIKE %% , либо в FROM table1 table2 , а в WHERE table1.cell LIKE %% OR table2.cell LIKE %%
либо несколько отдельных запросов с LIKE %% , либо в FROM table1 table2 , а в WHERE table1.cell LIKE %% OR table2.cell LIKE %%
Спустя 10 минут, 31 секунда (24.04.2011 - 22:06) Ser18 написал(а):
А лучше не LIKE, а MATCH
Спустя 3 минуты, 24 секунды (24.04.2011 - 22:09) sharki написал(а):
Ser18
MATCH применяется как мне помнится для индексированных, полнотекстовых, скорость повыше чем у LIKE
MATCH применяется как мне помнится для индексированных, полнотекстовых, скорость повыше чем у LIKE
Спустя 4 минуты, 4 секунды (24.04.2011 - 22:14) Sailor написал(а):
т.е. синтаксис такой будет: SELECT * FROM table1,table2 WHERE table1.cell MATCH(name) OR table2.cell MATCH (name_2)
Спустя 5 минут, 33 секунды (24.04.2011 - 22:19) Sailor написал(а):
А как определить поля в таблицы для выводы если допустим искомый текст нашолся во второй таблице
p.s. в таблицах имена полей разные.
p.s. в таблицах имена полей разные.
Спустя 13 минут, 12 секунд (24.04.2011 - 22:32) Ser18 написал(а):
Цитата (sharki @ 24.04.2011 - 19:09) |
Ser18 MATCH применяется как мне помнится для индексированных, полнотекстовых, скорость повыше чем у LIKE |
Да
И поиск лучше Особенно если искать не одно слово, а фразу
Спустя 37 минут, 46 секунд (24.04.2011 - 23:10) Dr.Mars написал(а):
А лучше sphinx
Спустя 1 час, 31 минута, 52 секунды (25.04.2011 - 00:42) SAilor написал(а):
для этого запрося
SELECT * FROM table1,table2 WHERE table1.cell MATCH(name) OR table2.cell MATCH (name_2)
я немогу определится с полям для вывода в каждой таблице они разные
SELECT * FROM table1,table2 WHERE table1.cell MATCH(name) OR table2.cell MATCH (name_2)
я немогу определится с полям для вывода в каждой таблице они разные
Спустя 2 минуты, 29 секунд (25.04.2011 - 00:44) inpost написал(а):
SAilor
Их и указывай
Их и указывай
Спустя 4 минуты, 24 секунды (25.04.2011 - 00:49) Guest написал(а):
а как определить в какой таблице нашелся поисковое слово
тоесть если допустим у меня в первой таблице нашелся искомое слово
то тогда имя поля будет допустим name
а если во второй таблице то поле наз. title
и как определить как их вывести на экран?
тоесть если допустим у меня в первой таблице нашелся искомое слово
то тогда имя поля будет допустим name
а если во второй таблице то поле наз. title
и как определить как их вывести на экран?
Спустя 18 минут (25.04.2011 - 01:07) Trianon написал(а):
inpost
Цитата |
либо в FROM table1 table2 |
это как?
Спустя 2 минуты, 22 секунды (25.04.2011 - 01:09) Guest написал(а):
Что как ???
Спустя 14 минут, 51 секунда (25.04.2011 - 01:24) inpost написал(а):
Trianon
"Что как" - был не мой коммент =)
Ну как, SELECT table1.*,table2.* FROM table1,table2 WHERE ...
Разве так не получится? Через запятую нельзя указывать разные таблицы? Нужно чтоли отдельные запросы?
"Что как" - был не мой коммент =)
Ну как, SELECT table1.*,table2.* FROM table1,table2 WHERE ...
Разве так не получится? Через запятую нельзя указывать разные таблицы? Нужно чтоли отдельные запросы?
Спустя 6 часов, 15 минут, 14 секунд (25.04.2011 - 07:39) Trianon написал(а):
запятая - операция (CROSS JOIN) декартового произведения таблиц.
Оно тут надо?
Учитывая, что в 99% случаях оно не надобно нигде?
А в Вашем фрагменте даже запятой не было.
FROM table1 table2 означает "из таблицы table1, обозначенной псевдонимом table2"
Оно тут надо?
Учитывая, что в 99% случаях оно не надобно нигде?
А в Вашем фрагменте даже запятой не было.
FROM table1 table2 означает "из таблицы table1, обозначенной псевдонимом table2"
Спустя 25 минут, 50 секунд (25.04.2011 - 08:05) inpost написал(а):
Trianon
Запятую пропустил, не знал, что такое бывает.
Так что в данном случае было бы эфективнее, для выборки из нескольких таблиц? Отдельные запросы вообще?
Запятую пропустил, не знал, что такое бывает.
Так что в данном случае было бы эфективнее, для выборки из нескольких таблиц? Отдельные запросы вообще?