在SQL查询中需要帮助

时间:2014-04-09 18:50:23

标签: php mysql

我有一个包含值(例如,(88,90,100,200)的varchar的字段,并且当使用IN子句查看第一个字段中的第二个字段是否返回空结果时,我有另一个包含值200的字段当将它与88进行比较时,它返回结果

所以我想知道我在这里做错了什么,以及是否有更好的方法。

这是mysql代码

select * from user inner join category where parent_id IN (categories)
  • parent_id位于类别表中,用户表中的类别

1 个答案:

答案 0 :(得分:0)

当你进行JOIN时,你需要一个ON子句来指定你正在寻找在两个表中以某种方式“匹配”的行。如果您希望单个表中的所有行,其中某些列的值为“此列表中的值之一...”,则使用IN。所以这些都是有效的SQL:

SELECT * FROM user INNER JOIN category ON user.someColumn = category.someOtherColumn // can add WHERE clause

SELECT * FROM user WHERE parent_id IN (88, 99, 100, 200)

除非你分享你的表格结构,否则无法准确告诉你应该使用哪种查询,因为问题不明确。