问题
笔者编写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
原创不易
转载请标明出处
如果对你有所帮助 别忘啦点赞支持哈