У меня есть SQL таблицы, как это и я хочу показать деятельность пользователя на странице пользователя, и я не знаю, как написать запрос об этом, чтобы моя таблица выглядит следующим образом:MySQL Как получить активность пользователя?
users
id
name
posts
id
title
description
posts_likes
id
post_id
user_id
time
posts_comments
id
post_id
user_id
time
теперь я хочу показать пользователь, тир деятельности в своей странице, как: вы комментировали на этом посту ИЛИ понравившихся и комментировал этот пост порядка по времени, поэтому я пишу некоторый запрос, как это, но есть много проблем. ..
SELECT posts.id , posts.title , posts_comments.comment , posts_likes.time , posts_comments.time
FROM posts
JOIN posts_likes ON posts.id=posts_likes.post_id
JOIN posts_comments ON posts.id=posts_comments.post_id
WHERE posts_likes.user_id = 6 AND posts_comments.user_id =6
ORDER BY posts_likes.time, posts_comments.time DESC
поэтому, когда я использую этот запрос он приносит мне сообщения, что пользователь с идентификатором = 6 прокомментирован и любил и никогда не показывать мне сообщения, которые пользователя только прокомментировал или пользователя понравился только, так что если какой-либо орган знать, как я могу решить эту проблему, я действительно ценю Большое спасибо, ребята ... SRY за мой английский
добавить для него таблицу «журналов». любой другой вариант будет медленнее. –
, так что я имею в виду, что я должен сделать другую таблицу, и когда пользователь прокомментировал или понравился какой-либо пост, заполните базу данных? –
Вы можете попытаться изменить AND в своем предложении where на OR. Вы также можете объединить таблицу posts_likes и posts_comments и добавить булевский столбец, когда это правда, это комментарий, когда он неверен, это похоже. – user2974830