Есть 15 таблиц - каждая из них, это содержимое разных модулей.
Таблицы никак не связаны.
Но у всех есть поле "дата добавления" типа DATETIME
Вопрос: как вытащить последнее обновление по дате из всех 15 таблиц?
1. DeepVarvar - 25 Июля, 2011 - 13:13:33 - перейти к сообщению
2. PATCH - 25 Июля, 2011 - 13:18:33 - перейти к сообщению
я б предложил бы сравнивать со всех 15 таблицы дату и чья дата самая раняя (раняя всмысле ближе к реальному времени) ту таблицу и вытаскиваем... но помойму задействует много ресурсов сервера такой вариант.
3. EuGen - 25 Июля, 2011 - 13:37:31 - перейти к сообщению
SELECT MAX(max_date)
FROM
(
SELECT MAX(date_field_0) AS max_date FROM table_0
UNION ALL
SELECT MAX(date_field_1) AS max_date FROM table_1
...
UNION ALL
SELECT MAX(date_field_14) AS max_date FROM table_14
)
Запрос можно в php генерировать. Но по сути это мало чем отличается от обычного сравнения.
FROM
(
SELECT MAX(date_field_0) AS max_date FROM table_0
UNION ALL
SELECT MAX(date_field_1) AS max_date FROM table_1
...
UNION ALL
SELECT MAX(date_field_14) AS max_date FROM table_14
)
Запрос можно в php генерировать. Но по сути это мало чем отличается от обычного сравнения.
4. DeepVarvar - 25 Июля, 2011 - 16:11:34 - перейти к сообщению
EuGen огромное спасибо и +
(Добавление)
Но сработало только вот так:
(Добавление)
Но сработало только вот так:
CODE (SQL):
скопировать код в буфер обмена
скопировать код в буфер обмена
- SELECT Dt FROM t1
- UNION ALL
- SELECT Dt FROM t2
- UNION ALL
- ............
- SELECT Dt FROM t15
- ORDER BY Dt DESC LIMIT 1
EuGen ваш вариант выводил ошибку.