Подскажите пожалуйста. есть 3 таблицы с данными. нужно вывести к примеру 20 последних (из 3ех таблиц, а не не 20 из каждой) записей отсортированных по времени которое указано в одном из столбцов этих таблиц (называется везде одинаково).
можно ли это решить одним сложным запросом из бд? или как сделать это вообще.
(SELECT a FROM t1 WHERE a=10 AND B=1 limit 20)
UNION
(SELECT a FROM t2 WHERE a=11 AND B=2 limit 20)
UNION
(SELECT a FROM t3 WHERE a=12 limit 20)
ORDER BY a LIMIT 20;
По лимиту на каждый из селектов - просто чтобы не читать данных больше необходимого - union'у меньше работы по сортировке.
И основной лимит у union'а - сколько записей будет в результате возвращено на приложение.