2010-10-16 56 views
0

我可能忽略了一些简单的东西 -最好的方法来查询多个'类'mysql php?

一些新闻项目有2个类别选中,其他时候它有全部4个检查。 我知道我可以做或或'或''或''或'' - 但我认为还有更好的办法。

问题:我如何查询这个输出:如果故事类别为10,13或10,13,15或10,13,15,16或10,15或10,13? ('10'是父类) - 没有做这样的查询?

WHERE news.id = story.post_id AND news.category LIKE '10,13,15,16' 
+0

您的架构困惑了我一下。也许类别是它自己的表('categories'),然后你可以使用'categories_news'交叉引用表。只是一个建议。 – webbiedave 2010-10-16 15:00:14

回答

1

你可以说:

AND new.category IN ('10,13', '10,13,15', '10,13,15,16', '10,15', '10,13') 

这是稍微清洁剂,使用许多OR的。

+0

谢谢。我没有意识到你可以查询“IN”哈。 – eberswine 2010-10-16 23:21:52

0
WHERE news.id = story.post_id AND news.category in (10, 13, 15, 16)