目的是有点难以解释,所以请通知我,如果你需要更多的信息。
我正在创建一个博客,人们可以在这里发表文章,但也可以推广其他用户的帖子。用户职位和晋升职位将出现在其配置文件页面中。
为了给你更多的信息,这件事已经在tumblr或者twitter上完成了(通过转发):在用户配置文件中,我们有它的tweet,但也有他转发的tweet。
以下是数据库表:
表“员额”:
以及“晋升”表(person X晋升Y员额):
)
给定一个用户id,我想检索他写的帖子和他提升的帖子。问题是: SQL (特别是MySQL)查询是什么?
并根据“创建”字段对列表进行排序。
提前谢谢。
发布于 2012-05-29 20:19:29
好的,我知道了。以下是答案:
SELECT *
FROM Posts
LEFT JOIN Promotions ON Promotions.post_id = Posts.id
WHERE Posts.author_id = $userId
OR Promotions.promoter_id = $userId所以,当混合左联接和OR条件时,魔术就会发生。
希望能帮上忙。
PS。感谢所有与会者。
发布于 2012-05-29 15:48:50
用户编写的帖子很简单:
select *
from posts
where author_id=@your_user_id要获得用户晋升的帖子,您可以:
select *
from Promotions
where promoter_id =@your_user_id当然,您可能需要有关用户提升的帖子的信息,因此您必须加入两个表:
select p.title
from posts P join Propotions pro on pro.postId=p.id
where pro.promoter_id =@your_user_idhttps://stackoverflow.com/questions/10802397
复制相似问题