Есть 2 таблицы - в первой содержаться текстовые сообщения (wall, аля стена сообщений), а во второй события (events, действия пользователя - добавление фотографии, создание записей в блог).
Сейчас эти 2 таблицы компонуются так:
Общий лимит ставим 20, берем 10 записей и одной и 10 из другой, совмещаем сортируя по времени создания записи в обратном хронологическом порядке и показываем. Но данный подход не совсем правильный...
Как можно объединить записи из этих 2 таблиц основываясь лишь на дате создания записи? Т.е. если у пользователя последние по времени 19 действия это именно события из events, то в итоговой выборке должны присутствовать 19 записей из events и лишь одна из wall.
Используйте UNION:
SELECT t1.id, t1.date, t1.name, 'wall' AS `type` FROM `tbl1` AS `t1`
UNION ALL
SELECT t2.id, t2.date, t2.event AS `name`, 'events' AS `type` FROM `tbl2` AS `t2`
ORDER BY `date` DESC
LIMIT 20