使用IN()运算符进行SQL查询

时间:2018-04-21 15:28:49

标签: php mysql sql pdo

我有一个博客表,有一个类别归档,Varchar。我用逗号存储值,将它们分开,如 5,6,9

当我使用IN运算符进行搜索时,它不会显示

之类的结果

POST中的表数据

Id     post_title      category      status
1      Title 1         5,4,9           1
2      Title 2         6               1
3      Title 3         6,9             1
4      Title 4         5,4,8           1
5      Title 5         6,7             1
6      Title 6         1,2,3           1
7      Title 7         4,9,8           1
8      Title 8         5,4,9           1

我在下面尝试两个查询

SELECT * FROM POST WHERE category IN('6', '9');
SELECT * FROM POST WHERE category IN(6, 9);

预期结果将是

Id     post_title      category      status
1      Title 1         5,4,9           1
2      Title 2         6               1
3      Title 3         6,9             1
4      Title 5         6,7             1
5      Title 7         4,9,8           1
6      Title 8         5,4,9           1

我想创建一个查询来显示特定帖子类别ID的相关帖子。如果我打开帖子,那就是多个类别。然后我想显示多个类别的相关帖子。

感谢您寻找最佳结果。

如果可能,还在PDO中提供查询

0 个答案:

没有答案