Как создать выборку для ленты активности в MySQL?

Господа, вопрос следующий.
Имеется 5 таблиц, нужно собрать инфу о них воедино и отсортировать по дате.
Проблема возникает в момент, когда я соединяю таблицы следующим образом:

SELECT l . * , f . * 
FROM user t
INNER JOIN likes l ON t.id = l.author
INNER JOIN follow f ON t.id = user_id
WHERE t.id =5
LIMIT 0 , 30


Результат:
MEGTFMK.png

Ячейки повторяются . Как-то можно избавиться от повторений и привести к виду - одна ячейка - одно событие?
  • Вопрос задан
  • 2388 просмотров
Пригласить эксперта
Ответы на вопрос 2
Так а чего у вас вверху INNER, а снизу - LEFT? Используйте INNER.
Ответ написан
@Facetrollex
Если дублируются колонки - значит выбирайте только нужные вам, а не
SELECT l . * , f . *

Чтобы не дублировались строки для начала сделайте JOIN вместо Left Join, если все равно будут дубли, то ищите разницу в этих строках (она должна быть, и подозреваю что у вас там с датами косяки)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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