@iamFake

Как «по-умному» объеденить 2 таблицы?

Доброго времени суток.

Есть 2 таблицы - в первой содержаться текстовые сообщения (wall, аля стена сообщений), а во второй события (events, действия пользователя - добавление фотографии, создание записей в блог).

Сейчас эти 2 таблицы компонуются так:
Общий лимит ставим 20, берем 10 записей и одной и 10 из другой, совмещаем сортируя по времени создания записи в обратном хронологическом порядке и показываем. Но данный подход не совсем правильный...

Как можно объединить записи из этих 2 таблиц основываясь лишь на дате создания записи? Т.е. если у пользователя последние по времени 19 действия это именно события из events, то в итоговой выборке должны присутствовать 19 записей из events и лишь одна из wall.

Используемая субд PostgreSQL 9.3\9.4
  • Вопрос задан
  • 2427 просмотров
Решения вопроса 1
Используйте 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
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы