当前位置: 首页 >数据库 > 【mysql错误】用as别名 做where条件,报未知的列 1054

【mysql错误】用as别名 做where条件,报未知的列 1054

需求:SELECT a AS b WHRER b=1;    //这样使用会报错,说b不存在。

因为mysql底层跑SQL语句时:where 后的筛选条件在先, as B的别名在后。所以机器看到where 后的别名是不认的,所以会报说B不存在。

这个b只是字段a查询结果的一个别名

如果非要用B做筛选条件的话:解决方案:外边再嵌套一层。
select * from(

    select A as B from table

) t 

where t.B = XXX -- 任意的筛选条件

如果不嵌套,只能用A做筛选条件了

作者:zhangzhiping35
来源链接:https://www.cnblogs.com/zhangzhiping35/p/10980343.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。





本文链接:https://www.javaclub.cn/database/118339.html

分享给朋友:

“【mysql错误】用as别名 做where条件,报未知的列 1054” 的相关文章

MySQL数据库(基础) 2022年05月16日 21:54:19
MySQL学习(4)︱数据库的查询 2022年06月07日 01:52:58
mysql 查询或 2022年06月07日 13:56:22
MYSQL查询某字段为空的数据 2022年06月08日 21:35:13
mysql的查询句 2022年06月09日 23:40:52
mysql 近几天内 2022年06月15日 15:07:52