为什么不能正常工作?#1054 - 'where子句'中的未知列'max.ACCESS_DATE_TIME'
SELECT `user_log`.`COMPUTER_NAME`, `user_log`.`LOCATION`
FROM `user_log`, `user_log_max` as max
WHERE max.`USER_NAME` = `user_log`.`USER_NAME` AND max.`ACCESS_DATE_TIME` = `user_log`.`ACCESS_DATE_TIME`
我收到以下错误:
#1054 - Unknown column 'max.ACCESS_DATE_TIME' in 'where clause'
我试图取出别名:
SELECT `user_log`.`COMPUTER_NAME`, `user_log`.`LOCATION`
FROM `user_log`, `user_log_max`
WHERE `user_log_max`.`USER_NAME` = `user_log`.`USER_NAME` AND `user_log_max`.`ACCESS_DATE_TIME` = `user_log`.`ACCESS_DATE_TIME`
这个错误 - >
#1054 - Unknown column 'user_log_max.ACCESS_DATE_TIME' in 'where clause'
它取出刻度线......为什么?
编辑:
user_log_max:
USER_NAME varchar(20)
ACCESS_DATE_TIME timestamp
USER_LOG包含同一列,加上一些更多的,包括COMPUTER_NAME和LOCATION
user_log_max包含从USER_LOG发出此查询
SELECT `USER_NAME`, MAX(`ACCESS_DATE_TIME`) FROM `user_log
GROUP BY `USER_NAME`
基本上所有的数据我想要做的是选择具有MAX ... GROUP BY的列,而不是GROUP BY中的列。
编辑2:
下面是我如何创建user_log_max - >
CREATE TABLE `user_log_max`
SELECT `USER_NAME`, MAX(`ACCESS_DATE_TIME`) FROM `user_log`
GROUP BY `USER_NAME`
请描述你的架构。 – RedFilter
你确定table'user_log_max'包含'ACCESS_DATE_TIME'吗? –
不要担心错误消息中未显示反引号。我们需要看到表格结构。 –