Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL子查询不工作,生成错误代码1064_Sql_Mysql_Mysql Error 1064 - Fatal编程技术网

MySQL子查询不工作,生成错误代码1064

MySQL子查询不工作,生成错误代码1064,sql,mysql,mysql-error-1064,Sql,Mysql,Mysql Error 1064,此查询不起作用 SELECT * FROM Catalogue WHERE Catalogue.ID IN ( SELECT ID_catalogue FROM Categories WHERE Categories.Product_type='xxx' ) 错误代码:1064 你的密码有错误 “选择”附近的SQL语法 ID\u分类目录,其中 类别。产品类型为 第2行 好的,那是因为我使用的是一个非常旧的MySQL版本 我想得到的是 SELECT * FROM Catalogue WH

此查询不起作用

SELECT * FROM Catalogue WHERE Catalogue.ID IN (
    SELECT ID_catalogue FROM Categories WHERE Categories.Product_type='xxx'
)
错误代码:1064 你的密码有错误 “选择”附近的SQL语法 ID\u分类目录,其中 类别。产品类型为 第2行

好的,那是因为我使用的是一个非常旧的MySQL版本

我想得到的是

SELECT * FROM Catalogue WHERE Product_type='xxx' OR Catalogue.ID IN (
    SELECT ID_catalogue FROM Categories WHERE Categories.Product_type='xxx'
)
这方面有什么等价物吗


谢谢您的评论。

您的查询没有问题。很可能是MySQL的版本造成了您的问题。

如果您使用的是MySQL版本,您使用的是什么MySQL版本?看起来你有4.0版本:-你在运行哪个版本的MySQL?子查询支持于2003年在4.1中添加。评论中已经介绍了这一点。不要盗取虫族的名声。@dan虫族应该在回答中说明这一点。另请参见其他响应。你也应该责备那个人是小偷。我不知道从其他评论中学习有什么不对,但我有勇气把它写进一个答案,对还是错。@johnny:我不喜欢猜测。只有当我确信答案正确时,我才会回答。在这种特殊情况下,它也可以是
select
subquery之前的某种非类型字符。@zerkms我不是说你必须这样做。我更多的是回应丹而不是你。对不起,如果你生气了。有几次我本应该给出答案而不是评论。我明白了。非常感谢。是3.23:SIs对于3.23版有没有类似的查询?@aximili:3.23的最新版本是在2003年9月11日发布的。我强烈建议您更新它:-您必须将此查询重写为联接。这相当简单。但你真的应该听从虫族的建议,升级这个服务器。你已经落后时代十年了。哈哈,谢谢你的发布日期,很高兴知道=p很抱歉,我的查询中实际包含OR,请参阅我更新的问题。谢谢虫族和丹!
     SELECT c.*,
            g.ID_catalogue
       FROM Catalogue c
  LEFT JOIN Categories g ON g.ID_catalogue = c.ID
                        AND g.Product_type='xxx'
     HAVING ID_catalogue IS NOT NULL
         OR Product_type = 'xxx'