我注意到我的 sql 查询中有一个错误,但我不确定我做错了什么:
SELECT blog_posts.postid,
blog_posts.posttitle,
blog_posts.postdesc,
blog_posts.postdate
FROM blog_posts
INNER JOIN members_posts
ON members_posts.memberid = blog_posts.postid
WHERE members_posts.memberid = '1'
在上面我尝试只选择属于memberID='1'的帖子。但什么也没有显示?
最佳答案
这是您的查询:
SELECT bp.postID, bp.postTitle, bp.postDesc, bp.postDate
FROM blog_posts bp INNER JOIN
members_posts mp
ON mp.memberID = bp.postID
-----------^ ------------^ That seems unlikely
WHERE mp.memberID = '1';
使用正确的列:
SELECT bp.postID, bp.postTitle, bp.postDesc, bp.postDate
FROM blog_posts bp INNER JOIN
members_posts mp
ON mp.postId = bp.postID
WHERE mp.memberID = 1;
此外:
- 表别名使查询更易于编写和阅读。
- 不要在数字常量两边加上单引号。
关于mysql - 多对多 select 语句不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34048227/