嵌套SQL查询统计记录数报错:子查询序列无法识别输入
问题解决:子查询报错“无法识别子查询序列中的输入”
你的SQL语句报错的核心原因是最外层的子查询没有指定别名,SQL语法要求FROM子句后的子查询必须有合法别名。另外还有两处细节问题需要修正:
- 表名
table name包含空格,需要用反引号包裹(适配多数支持反引号的数据库,比如MySQL) - 内层查询的
Jan是SQL关键字,建议用反引号包裹避免解析冲突
修正后的SQL语句如下:
Select count(*) from (Select emp as `bd`,wrk as `Zn`,dept as `dd` from ( Select emp,wrk,dept,far,atn,dec,`Jan`,`set` From `table name` where dept = "IT") static_inner_qry_alias Group by emp,wrk,dept limit 1200) outer_qry_alias
补充说明:
- 给最外层子查询添加别名
outer_qry_alias是解决当前报错的关键 - 包裹含空格的表名和关键字列名,避免语法解析错误
- 若你的数据库不支持反引号,可替换为双引号(需确保数据库开启了双引号识别标识符的模式)
内容的提问来源于stack exchange,提问作者Balaji R B
相关产品推荐
相关产品推荐

