MYSQL Query – получать сообщения текущего пользователя, а пользователь – следующие сообщения

Я пытаюсь запросить, чтобы получать сообщения текущего пользователя и сообщения людей, за которыми он следит. Как и большинство социальных сетей на своей домашней странице.

Я знаю, как запросить все текущие сообщения пользователя, но я изо всех сил стараюсь, чтобы пользователь получил следующие сообщения.

Я видел этот другой вопрос Mysql select query для получения текущего сообщения пользователя и последующего сообщения друга

Но ответ там не очень помогает мне …

Вот мой запрос:

SELECT P.id, P.caption, P.date, U.id, U.fullname, U.username, F.IdOtherUser FROM USERS AS U INNER JOIN Activity AS F ON U.id = F.id INNER JOIN Posts AS P ON P.id = U.id OR P.id = F.IdOtherUser WHERE P.id = 145 ORDER BY P.id DESC 

145 = текущий пользователь.

Activity.IdOtherUser = пользователь '145' соответствует

Activity.id = будет '145' текущего пользователя

Если кто-нибудь может помочь мне разобраться в этом, я буду признателен за это!

Похоже, я не понимаю его полностью, так как я совершенно новый для MYSQL …

исправлять

 (SELECT P.id as postid, P.caption, P.date, U.id as userid, U.fullname, U.username, coalesce(Activity.LikeCNT,0), Activity.CurrentUserLiked FROM USERS AS U INNER JOIN Posts AS P ON P.id = U.id LEFT JOIN (SELECT COUNT(DISTINCT Activity.uuidPost) LikeCNT, Activity.uuidPost, Activity.id, sum(CASE WHEN Activity.id = 145 then 1 else 0 end) as CurrentUserLiked FROM Activity Activity WHERE type = 'like' GROUP BY Activity.uuidPost) Activity ON Activity.uuidPost = P.uuid AND Activity.id = U.id WHERE U.id = 145) UNION (SELECT P.id, P.caption, P.date, U.id, U.fullname, U.username, coalesce(Activity.LikeCNT,0), Activity.CurrentUserLiked FROM Activity AS A INNER JOIN USERS AS U ON A.IdOtherUser=U.id INNER JOIN Posts AS P ON P.id = U.id LEFT JOIN (SELECT COUNT(DISTINCT Activity.uuidPost) LikeCNT, Activity.uuidPost, Activity.id, sum(CASE WHEN Activity.id = 145 then 1 else 0 end) as CurrentUserLiked FROM Activity Activity WHERE type = 'like' GROUP BY Activity.uuidPost) Activity ON Activity.uuidPost = P.uuid AND Activity.id = U.id WHERE A.id = 145)