下使用mysql如何从此数据库设计中检索用户帖子?
DB设计:
Users:
- userId
- userName
Posts:
- postId
- text
UserPosts (many-many):
- userId (FK)
- postId (FK)
我想要检索的所有用户发布的所有信息。这正是我需要的:
- userName
- text
我不太知道如何写这个查询。我如何做这3种方式加入?
下使用mysql如何从此数据库设计中检索用户帖子?
DB设计:
Users:
- userId
- userName
Posts:
- postId
- text
UserPosts (many-many):
- userId (FK)
- postId (FK)
我想要检索的所有用户发布的所有信息。这正是我需要的:
- userName
- text
我不太知道如何写这个查询。我如何做这3种方式加入?
SELECT
u.userName,
p.Text
FROM
UserPosts up
INNER JOIN
Users u
ON
u.userID = up.userID
INNER JOIN
Posts p ON p.postID = up.postID
select Posts.text,
Users.userName
FROM UserPosts
INNER JOIN Users on UserPosts.userId = Users.userId
INNER JOIN Posts on UserPosts.postId = Posts.postId
SELECT userName, text FROM Users,Posts,UserPosts
WHERE
UserPosts.userID = Users.userId AND UserPosts.postID = Posts.postID
因此,许多用户可以写一个帖子?这是什么样的系统?你不是过度工程师吗? – 2011-12-28 21:10:11
@SergeiTulentsev一个用户可以写很多帖子。相同的帖子可以由其他用户转贴。想想Twitter。 – brainydexter 2011-12-28 21:12:36
@SergeiTulentsev - 可能是我们所知道的某种wiki系统。 – JonH 2011-12-28 21:12:43