MySQL Multi Table Search - PullRequest
       8

MySQL Multi Table Search

1 голос
/ 06 октября 2011
table1
 ID
 SUBJECT
 CONTENT

table2
 ID
 SUBJECT
 CONTENT

table3
 ID
 SUBJECT
 CONTENT

... 5 more

Я хочу найти SUBJECT по всем таблицам

Как я могу это сделать?

Ответы [ 3 ]

2 голосов
/ 06 октября 2011
CREATE VIEW multitable AS
SELECT * FROM table1
UNION SELECT * from table2
UNION SELECT * from table3;

SELECT subject FROM multitable ...
0 голосов
/ 06 октября 2011

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

SELECT * FROM Table1
UNION Table2
UNION Table3
UNION Table4
UNION Table5
UNION Table6
UNION Table7
UNION Table8
WHERE SUBJECT="Subject"

Ради простоты, 8 таблиц не слишком много для записи. Если бы у вас было больше, я бы порекомендовал динамический запрос .

0 голосов
/ 06 октября 2011
select * from table1 where subject like '%match%' union
select * from table2 where subject like '%match%' union
select * from table3 where subject like '%match%' union
select * from table4 where subject like '%match%' union
select * from table5 where subject like '%match%' union
select * from table6 where subject like '%match%' union
select * from table7 where subject like '%match%' union
select * from table8 where subject like '%match%'
...