Как искать с использованием синтаксиса LIKE и% WILDCARD% по нескольким таблицам - PullRequest
0 голосов
/ 07 января 2010

Как вы можете использовать mysql и синтаксис like / wildcard для нескольких таблиц, это будет так просто:

(SELECT * FROM `table1` WHERE `name` LIKE '%tom%') AND (SELECT * FROM `table2` WHERE `name` LIKE '%sam%')

Не проверено, просто думаю об этом.

Ответы [ 3 ]

2 голосов
/ 07 января 2010

Если ваши таблицы имеют одинаковую структуру, вы можете использовать UNION :

SELECT * FROM `table1` WHERE `name` LIKE '%tom%' UNION SELECT * FROM `table2` WHERE `name` LIKE '%sam%'
0 голосов
/ 07 января 2010

На самом деле, если вы используете UNION, любые повторяющиеся строки могут быть удалены. Используйте UNION ALL, если вы хотите сохранить любые дубликаты (скажем, если вы хотите выполнить COUNT для всех строк, соответствующих% tom% в table1 и table2.

(SELECT * FROM `table1` WHERE `name` LIKE '%tom%') UNION ALL (SELECT * FROM `table2` WHERE `name` LIKE '%tom%')
0 голосов
/ 07 января 2010

Используйте UNION

(SELECT * FROM `table1` WHERE `name` LIKE '%tom%') UNION
 (SELECT * FROM `table2` WHERE `name` LIKE '%sam%')
...