运行下面的查询时,我最终在 PHPMyAdmin 中出现 MYSQL 错误:
#1054 - '有子句'中的未知列'wd.Datum'
此查询属于时间报告应用程序,用户在该应用程序中报告每天在项目上工作的时间。有一个表示预计工作日天数的表格、一个包含所有员工的表格和一个包含有关当前工作率信息的表格。最后一个表也用于确定用户何时被雇用。这个想法是获取所有工作日和所有用户,以便(在以后的查询中)选择用户忘记报告时间的日期。我想将结果集限制为用户受雇的天数。这是我的查询:
SELECT emp.ID AS user
FROM (workdays wd, employees emp)
INNER JOIN workrates wr ON (emp.ID=wr.UserId)
WHERE (wd.Datum<'2012-11-15')
GROUP BY WEEK(wd.Datum, 3), user
HAVING wd.Datum>=MIN(wr.FromDate)
(可能与http://bugs.mysql.com/bug.php?id=13551有关,这是关于 MySQL 版本 5 中引入的语法更改,如果您忘记某些括号,则会导致此消息)
MySQL 服务器在 Debian 上运行版本“5.1.63-0+squeeze1”。
编辑:我将第一个查询行更改为
选择 emp.ID 作为用户,wd.Datum
正如 Vijay 所建议的那样,查询有效!虽然我不明白为什么。