下使用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