我有像这样的SQL表,我想在用户页面中显示用户的活动,我不知道如何写这个查询,所以我的表看起来像这样:
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
因此,当我使用此查询时为我带来帖子,id = 6 评论并喜欢的用户,并且从不向我显示仅用户评论<的帖子/ strong>或用户只喜欢,所以如果有任何人知道如何解决这个问题,我真的很感谢非常感谢... sry for my english < / strong>
答案 0 :(得分:0)
试试这个:
SELECT posts.id , posts.title , posts_comments.comment , posts_likes.time , posts_comments.time
FROM posts
LEFT JOIN posts_likes ON posts.id=posts_likes.post_id AND posts_likes.user_id = 6
LEFT JOIN posts_comments ON posts.id=posts_comments.post_id AND posts_comments.user_id = 6
WHERE 1
ORDER BY posts_likes.time DESC, posts_comments.time DESC
未测试