Php 需要sql查询中的帮助吗
我有一个varchar字段,它包含(88,90100200)这样的值,我还有一个包含值200,当使用IN子句查看第一个字段中的第二个字段是否返回空结果时,但当与88进行比较时,它返回结果 所以我想知道我做错了什么,是否有更好的方法 下面是mysql代码Php 需要sql查询中的帮助吗,php,mysql,Php,Mysql,我有一个varchar字段,它包含(88,90100200)这样的值,我还有一个包含值200,当使用IN子句查看第一个字段中的第二个字段是否返回空结果时,但当与88进行比较时,它返回结果 所以我想知道我做错了什么,是否有更好的方法 下面是mysql代码 select * from user inner join category where parent_id IN (categories) 父项id位于类别表中,而类别位于用户表中 执行联接时,需要一个ON子句来指定要查找的行在两个表之间以
select * from user inner join category where parent_id IN (categories)
- 父项id位于类别表中,而类别位于用户表中
SELECT * FROM user INNER JOIN category ON user.someColumn = category.someOtherColumn // can add WHERE clause
或
除非共享表结构,否则无法确切告诉您应该使用什么查询,因为问题不清楚。父id在(类别)中的位置可能是它的(类别)?或者什么是类别?编辑:nvm,刚刚看到你的编辑你能添加表的结构吗?如果没有表结构,你到底想加入什么还是完全不明确的,甚至你真的需要加入。结构、示例数据和期望的结果将产生所有的差异。这是一个内部连接,在两个表之间使用ON子句不需要它。parent_id是INT(11),位于category表中,categories是user表中的VARCHAR(45),它也可以在第二个mysql查询中使用,但集合是变量如果集合是变量,则在运行时替换它。您可以使用简单的字符串连接,也可以使用prepare()和参数绑定(我认为更可取)。“在MySQL中,连接、交叉连接和内部连接是语法等价的(它们可以相互替换)。在标准SQL中,它们不是等价的。内部连接与ON子句一起使用,其他情况下使用交叉连接。”@
SELECT * FROM user WHERE parent_id IN (88, 99, 100, 200)