Есть несколько одинаковых таблиц в базе. Как сделать запрос из всех? Вот запрос на выбор из одной:
mysql_query("select * from `table` where `dt` = '20161201'");
UNION - применяется для объединения результатов двух или более SQL-запросов в единую таблицу, состоящую из схожих строк. Оба запроса должны возвращать одинаковое число столбцов и совместимые типы данных в соответствующих столбцах.
Пример
<запрос1>
UNION [ALL]
<запрос2>
UNION [ALL]
<запрос3>
.....;
Более подробный пример
SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION ALL
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;
Можно писать UNION или UNION ALL.
Разница между операторами UNION и UNION ALL заключается в том, что первый выкидывает из окончательного результата повторяющиеся строки.
Дополнение от @teran из комментария: в отдельный столбец можно выбрать, например, имя таблицы из которой пришли данные. а-ля
...., 'customers' as tbl FROM Customers
если вдруг необходимо будет знать, откуда реально пришли строки (что будет иметь смысл в только случае UNION ALL)
Создайте надтаблицу с использованием ENGINE=Merge. В крайнем случае объединяющий VIEW. Совсем в крайнем - UNION ALL непосредственно в запросе.
Если будете использовать просто UNION (или его синоним UNION DISTINCT) во VIEW или непосредственном запросе - приготовьтесь к могучему оверхеду на сортировку и удаление дубликатов (ну то есть тормозить будет нещадно).
Продвижение своими сайтами как стратегия роста и независимости