使用IN运算符进行JOIN查询

时间:2011-10-06 22:21:54

标签: mysql sql join

帖子有很多评论,

我想只选择有特定身份证明的帖子(例如:(2, 4, 6, 7)

我尝试了以下sql查询:

  

SELECT wp_posts。* FROM wp_posts

     

LEFT JOIN wp_comments on wp_comments.comment_ID IN(2,4,6,7);

查询给我带来了奇怪的结果。

有人能告诉我这个查询有什么问题吗?提前谢谢

3 个答案:

答案 0 :(得分:3)

试试这个:

SELECT P.* 
FROM wp_posts AS P
INNER JOIN wp_comments AS C ON C.post_ID = P.post_ID
WHERE C.comment_ID IN (2, 4, 6, 7);

根据需要修改ON C.post_ID = P.post_ID中post_id的列名称;我不确定WordPress的确切列名。

答案 1 :(得分:0)

这不是JOIN条件,应该在WHERE子句中。

答案 2 :(得分:0)

如果我们能看到您的架构会更好。我认为你在寻找像这样的东西

SELECT wp_posts.* FROM wp_posts
LEFT JOIN wp_comments ON wp_comments.postid = wp_posts.id
WHERE wp_comments.comment_ID IN (2, 4, 6, 7);