2016-05-13 32 views
1

我在我的數據庫中的三個表從三個表獲取數據的mysql加入

1.Users(ID,用戶名)

2.Stories(ID,USER_ID,內容)這裏是user_id關鍵forigen指Usersid

3.Comments(ID,USER_ID,story_id,評論)這裏user_id是forigen鍵指Usersidstory_id是forigen鍵指Storiesid

我需要從Stories表中獲取的故事名單與上storie筆者

下面的那個帖子和用戶名評論總數是我對於

SELECT stories.id,stories.content,COUNT(stories.id) as totalcomment 
FROM stories 
JOIN comments 
ON stories.id=comments.story_id GROUP BY stories.id 

我會得到總查詢

+0

什麼阻止你加入'用戶'表? –

+0

如何做到這一點? –

+0

同樣的方式,你已經加入了評論 –

回答

0

的每個崗位的評論,但不能取storie作者(從用戶表即用戶名)的用戶名試試這個:

SELECT stories.id,stories.content,COUNT(stories.id) as totalcomment, Users.username 
FROM stories, Users, comments 
WHERE stories.id=comments.story_id 
AND stories.user_id = Users.id 
GROUP BY stories.id 

或者與加盟:

SELECT stories.id,stories.content,COUNT(stories.id) as totalcomment, Users.username 
FROM stories 
JOIN comments ON stories.id=comments.story_id 
JOIN users ON stories.user_id = Users.id 
GROUP BY stories.id 

希望這個作品。

+0

我會得到未知列的錯誤消息,但是列存在\ –

+0

這將返回一個不確定的結果。 – Strawberry

1
SELECT s.id,s.content,COUNT(c.story_id) as totalcomment, u.username 
FROM stories s LEFT JOIN comments c ON (s.id=c.story_id) 
LEFT JOIN users u ON (s.user_id = u.id) 
GROUP BY s.id