mysql - 运行子查询时出现错误代码 1054
问题描述
我正在尝试使用以下方法创建具有最旧帐户的用户:
SELECT a.ID
, a.username
FROM users a
JOIN
( SELECT MAX(date_created)
FROM other_info
) b
ON a.ID = b.ID;
它返回以下内容;`错误代码:1054。
'on 子句'中的未知列'b.ID'`
我查看了 [mysql-error-1054] 标记,但无法找到解决方案,我什至不确定查询的哪一部分是错误的。
谢谢。
解决方案
要查找具有第一个(最旧的)date_created 的用户:
SELECT u.ID, a.username, b.date_created
FROM users a
INNER JOIN other_info b
ORDER BY b.date_created
LIMIT 1
顺便说一句,而不是a
等b
,我宁愿选择有意义的表别名,例如u
for users
。
推荐阅读
- c# - 如何从我的 Windows Pocket PC 5.0 获取 MAC 地址
- c# - 无法将 C# 与 SQL Server 连接
- go - 为什么 Go 的 draw.DrawMask 似乎忽略了我的黑白蒙版?
- python - 在 Django 测试中传递参数
- activiti - 事件子流程与调用活动
- python - pypy没有安装opencv
- python - Pytorch 已安装,但在导入时出现错误
- blazor - Blazor 中是否有“内部链接点击”处理逻辑在识别内部链接点击时调用 preventDefault?
- typo3 - 使用 rte 字段和语法更新扩展
- sql-server - 当我将 varbinary 转换为 varchar 时,添加了一些新字符。怎么修?