2017-02-26 75 views
1

我有三个表在我的数据库 用户,帖子和评论。内部连接在mysql中的多个表

它们的结构如下:

**users** : 
user_id , user_name 
**posts**: 
post_id , post_content, user_id 
**comments** : 
comment_id , comment_content , post_id, user_id 

现在我想获取使用参加在下列方式这三个表中的数据: COMMENT_ID,COM​​MENT_CONTENT,USER_ID,USER_NAME,POST_ID 谁能PLZ告诉我如何做到这一点? 我会非常感激。

回答

1

这是一个简单的JOIN

试试这个:

select c.comment_id, 
    c.comment_content, 
    u.user_id, 
    u.user_name, 
    c.post_id 
from comments c 
join users u on u.user_id = c.user_id; 

如果需要从职位表中的列也加入吧:

select c.comment_id, 
    c.comment_content, 
    u.user_id, 
    u.user_name, 
    p.post_id, 
    p.post_content 
from comments c 
join users u on u.user_id = c.user_id 
join posts p on c.post_id = p.post_id; 
+0

它的一个职位只有一个返回评论...我想获取所有评论特定的帖子... 像我想要取得张贴在post_id 157 – Shehzad

+0

上的所有评论是的,我已经试过这一个,但这个查询获取任何帖子的所有评论,并附加该帖子的user_id作为评论的user_id所有评论在那个帖子上......是e无论如何在评论中显示屏幕截图?这样我可以与你分享屏幕截图? – Shehzad

+0

@Shehzad - 有没有理由不接受答案? – GurV