MYSQL Unknown column ‘appreciation.latitude‘ in ‘where clause‘

问题

笔者编写mysql语句,执行报错

详细问题

笔者sql代码

sql 复制代码
SELECT ap.*, su.username, wh.wheat_name
FROM appreciation ap
LEFT JOIN sys_user su ON su.id = ap.user_id
LEFT JOIN wheat wh ON wh.id = ap.crop_id
WHERE appreciation.latitude = 1

报错信息

shell 复制代码
> 1054 - Unknown column 'appreciation.latitude' in 'where clause'
> 时间: 0s

解决方案

对于另起别名的数据表,后续使用另起别名进行操作。而非原名称

即将

sql 复制代码
WHERE appreciation.latitude = 1

修改为

sql 复制代码
WHERE ap.latitude = 1

产生原因

该错误产生的原因是在 SQL 查询中使用了表别名 ap,但在 WHERE 子句中却使用了原始表名 appreciation,导致数据库无法识别该列。

解决原因

为了避免这种错误,应该在使用表别名时,后续的操作都要使用相同的别名,确保统一性,以便数据库能正确解析列名。

参考文献

产生原因与解释原因部分 部分内容参考chatgpt

原创不易

转载请标明出处

如果对你有所帮助 别忘啦点赞支持哈

相关推荐
xiancai_xianyu27 分钟前
Text2SQL落地生产库前,SQL要过哪三道闸
前端·数据库·sql·sql注入·text2sql·ai agent开发·企业级ai框架
cc57250265341 分钟前
2027校招准备:数据科学与大数据技术专业转产品数据运营,PRD与SQL怎么安排?
大数据·sql·墨刀
l1t2 小时前
DeepSeek总结的 DuckDB 2.0 中更简洁的变量语法
数据库·sql
imDwAaY3 小时前
MySQL 存储引擎是什么?
android·数据库·mysql
for_ever_love__3 小时前
MySQL 8.0 数据类型选型指南:INT、DECIMAL、VARCHAR 与时间字段怎么选
mysql·adb·数据类型·varchar·长度·字段类型选择
张张123y4 小时前
# 后端第七课:FastAPI 实战入门(用刚学的 Python 写第一个 API 接口)
开发语言·python·mysql·api·fastapi
l1t4 小时前
DeepSeek总结的在 NVIDIA Vera 上对 DuckDB v2.0-dev 进行基准测试
服务器·数据库·sql
渣渣盟4 小时前
2000万QPS背后的存储引擎博弈:InnoDB、MyRocks、WiredTiger到底谁更强?
数据库·mysql
张张123y5 小时前
# 后端第八课:数据库入门(给 FastAPI 接口加上“记忆“,存下问答历史)
数据库·sql·mysql·oracle·fastapi·sqllite
paopaokaka_luck6 小时前
校园新闻推荐系统(DeepSeek新闻助手、个性化推荐算法、 Redis热词排行榜、ECharts运营分析、互动与实时通知、新闻运营闭环)
java·spring boot·mysql·spring·tomcat·echarts·intellij idea