首页 > 解决方案 > 运行子查询时出现错误代码 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] 标记,但无法找到解决方案,我什至不确定查询的哪一部分是错误的。

谢谢。

标签: mysqlsqlsubquerymysql-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

顺便说一句,而不是ab,我宁愿选择有意义的表别名,例如ufor users


推荐阅读