Официальный сайт студ.городка НГТУ
Программирование и БД » [Mysql] Как сделать запрос на поиск по всем таблицам сразу? 

#1  11.01.06 09:57

[Mysql] Как сделать запрос на поиск по всем таблицам сразу?

вообщем так: есть в бд(BD) несколько таблиц (table1,table2),нужно по ВСЕМ таблицам сразу осуществить поиск(find_text). как запрос будет выглядеть?

Код::

SELECT * FROM `BD`.`table1` 
WHERE `table_filed1` ILIKE '%find_text%'OR `table_filed2` ILIKE '%find_text%'

- запрос на поиск только по одной таблице,а можно сразу по всей БД произвести

Исправлено iDrum (11.01.06 09:59)

Offline

#2  11.01.06 14:43

Re: [Mysql] Как сделать запрос на поиск по всем таблицам сразу?

чет типа того:

select t1.*, t2.* from table1 t1, table2 t2
WHERE `t1.table_filed1` ILIKE '%find_text%' OR `t1.table_filed2` ILIKE '%find_text%' OR `t2.table_filed1` ILIKE '%find_text%' OR `t2.table_filed2` ILIKE '%find_text%'

Offline

#3  11.01.06 15:36

Re: [Mysql] Как сделать запрос на поиск по всем таблицам сразу?

кхм.. а "AS" не надо разве?
...SELECT t1.*, t2.* FROM table1 AS t1, table2 AS t2 WHERE...

Offline

#4  11.01.06 15:45

Re: [Mysql] Как сделать запрос на поиск по всем таблицам сразу?

хз, в оракле так работает. Тут не знаю, думаю не обязательно.

Offline

#5  11.01.06 16:05

Re: [Mysql] Как сделать запрос на поиск по всем таблицам сразу?

AS не нужно начиная с MySQL 4x

Offline

#6  11.01.06 16:17

Re: [Mysql] Как сделать запрос на поиск по всем таблицам сразу?

а как в одной БД произвести поиск по всем таблицам но что бы название таблиц не упоминалось в запросе,ну что-то типа "*" было?можно так?

Offline

#7  11.01.06 17:45

Re: [Mysql] Как сделать запрос на поиск по всем таблицам сразу?

мля..так ить долго получается если в бд таблиц 10 к примеру

Offline

#8  12.01.06 08:51

Il2
Профиль

Re: [Mysql] Как сделать запрос на поиск по всем таблицам сразу?

Я только одно могу сказать. Если возникает необходимость вот в таких вот запросах, то это верный признак того, что сами данные криво организованы. Может имеет смысл модель данных переделать?

Добавлено 12.01.06 09:00:

Ну уж если совсем не хочется переделывать структуру данных, то:
Если нужные таблицы имеют способ хранения MyISAM, то их можно объединить в одну "виртуальную" таблицу. В общем в документации по MySQL читайте про "The MERGE Storage Engine".
Но по сути своей этот тип хранения аналогичен UNION (читаем в мануале про "UNION Syntax").

Исправлено Il2 (12.01.06 09:01)

Offline

#9  12.01.06 09:09

Re: [Mysql] Как сделать запрос на поиск по всем таблицам сразу?

Il2, ась?:)..блин и пхпмайадмин не кажет запроса когда поиск делаешь по всей бд,гад

Offline

#10  12.01.06 16:27

Re: [Mysql] Как сделать запрос на поиск по всем таблицам сразу?

а ты названия таблиц выдергивай из базы и названия их полей.. потом формируй запросы с помощью пхп-го цикла .. наф .. тебе одним то запросом?

Исправлено storm (12.01.06 16:31)

Offline

#11  14.01.06 03:51

Maq
Профиль

Re: [Mysql] Как сделать запрос на поиск по всем таблицам сразу?

может стоит создать таблицу с перечислением всех таблиц в которых будет осуществляться поиск?

Offline

#12  16.01.06 09:39

Re: [Mysql] Как сделать запрос на поиск по всем таблицам сразу?

Maq написал(а):

может стоит создать таблицу с перечислением всех таблиц в которых будет осуществляться поиск?

да что то слышал про виртуальную (или по другому как) таблицу,которая в себе обьеденяет все другие таблицы..но как?

Offline

#13  16.01.06 11:06

Re: [Mysql] Как сделать запрос на поиск по всем таблицам сразу?

iDrum, а почему не так?

про. написал(а):

Show Tables;

Offline

#14  16.01.06 11:15

Re: [Mysql] Как сделать запрос на поиск по всем таблицам сразу?

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

Исправлено iDrum (16.01.06 11:15)

Offline

#15  16.01.06 12:49

Re: [Mysql] Как сделать запрос на поиск по всем таблицам сразу?

если union использовать то один запрос, если ты про цикл запросов.... а для формирования запроса цикл нужен, по-моему иначе никак

Offline

#16  24.01.06 01:04

Re: [Mysql] Как сделать запрос на поиск по всем таблицам сразу?

Имхо, если возникает такая задача - значит пора вернуться к проектированию базы. Что ты собираешься найти, если не знаешь что (точнее где) искать?
Хотя в сормальных современных СУДБ реализован такой функционал, но само его наличие не исключает важность проектирования.

Offline

#17  24.01.06 01:07

Re: [Mysql] Как сделать запрос на поиск по всем таблицам сразу?

искать будет. только медленно.

Offline

#18  26.01.06 12:15

Re: [Mysql] Как сделать запрос на поиск по всем таблицам сразу?

iDrum написал(а):

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

а как ты потом поймешь из какой таблицы вытащил данные? Вернее компу как объяснишь? ))
возможно это конечно не нужно в твоем случае, но ... если давать обратный ссыль на эту инфу, то мне кажется что без этого никак .. хотя в твоем случае может бать так что в каждой строке базы находится ссылка в соседней ячейке на данный текст ...  ))

Offline

#19  26.01.06 12:22

Re: [Mysql] Как сделать запрос на поиск по всем таблицам сразу?

мне не важно,просто нужен список и всё

Offline

#20  26.01.06 14:58

Re: [Mysql] Как сделать запрос на поиск по всем таблицам сразу?

так я тебе и поверил ..

Offline

#21  09.02.06 20:58

Re: [Mysql] Как сделать запрос на поиск по всем таблицам сразу?

Диман, а на чем пишешь-то?

Offline

#22  10.02.06 08:01

Re: [Mysql] Как сделать запрос на поиск по всем таблицам сразу?

пхп

Offline

#23  10.02.06 08:02

Re: [Mysql] Как сделать запрос на поиск по всем таблицам сразу?

да впринципе обошёлся пхпмайадмином,но запарился выуживать найденную инфу

Offline

#24  10.02.06 10:28

Re: [Mysql] Как сделать запрос на поиск по всем таблицам сразу?

кстати хотел спросить ещё можно ли мускул настроить так чтоб он сохранял в логи все запросы?
если да то как?

Offline

#25  17.06.12 02:27

Re: [Mysql] Как сделать запрос на поиск по всем таблицам сразу?

otaku, ещё актуально? в конфиге мускула
general_log_file        = /path/to/mysql/mysql.log
general_log             = 1

):

Offline

#26  18.06.12 02:25

Re: [Mysql] Как сделать запрос на поиск по всем таблицам сразу?

10.02.06 10:28

otaku написал(а):

хотел спросить

17.06.12 02:25

iDrum написал(а):

ещё актуально?

палюбому он 6 лет ответа ждал :)

Offline

Программирование и БД » [Mysql] Как сделать запрос на поиск по всем таблицам сразу? 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.034 сек.
Выполнено 14 запросов.