Выборка из нескольких таблиц в нескольких базах MySQL

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

database.data_one:
+----+------+-----+-----+-----+
| id | type | foo | bar | baz |
+----+------+-----+-----+-----+
| 1  | 3    | 324 | 688 | 7   |
| 2  | 5    | 210 | 332 | 8   |
| 3  | 8    | 233 | 643 | 1   |
+----+------+-----+-----+-----+

another_database.data_two:
+----+------+-----+-----+-----+
| id | type | foo | bar | baz |
+----+------+-----+-----+-----+
| 1  | 6    | 324 | 570 | 7   |
| 2  | 9    | 100 | 567 | 8   |
| 3  | 7    | 213 | 843 | 1   |
+----+------+-----+-----+-----+

another_database.data_three:
+----+------+-----+-----+-----+
| id | type | foo | bar | baz |
+----+------+-----+-----+-----+
| 1  | 9    | 324 | 681 | 7   |
| 2  | 4    | 821 | 902 | 8   |
| 3  | 0    | 23  | 643 | 1   |
+----+------+-----+-----+-----+

id (ключ) строк в этих базах могут повторяться. Мне нужно сделать выборку с условиями, например если я хочу сделать её из одной таблицы, то делаю примерно так:

SELECT COUNT(id) AS count
FROM database.data
WHERE type = 9
  AND foo >= 200
  AND bar <= 300;

А мне надо сделать такую выборку из всех этих таблиц за один запрос силами SQL, не прибегая к коду.

Был бы благодарен за конкретные примеры на основе предоставленной структуры.

Причем таблиц может быть не 3, а произвольное количество, а следовательно очень хотелось бы задавать имя таблиц по маске (что-то вроде - SELECT COUNT(id) AS count FROM database.data_one, 'another_database.data_%' ...), чтобы не городить огородов из кода с предварительным SHOW TABLES IN another_database LIKE 'data_%'.


Ответы (0 шт):