SqL语句中出现报错1054,Unknown column 'e1.hdate' in 'having clause'

未加select后面的查询条件时不报错,能正常查询出数据
SELECT * FROM emp e1,emp e2,dept d WHERE e1.topid=e2.id AND e1.dept_id=d.id HAVING e1.hdate<e2.hdate;
加上条件后就报错
SELECT e1.name FROM emp e1,emp e2,dept d WHERE e1.topid=e2.id AND e1.dept_id=d.id HAVING e1.hdate<e2.hdate;
不明白这是什么原因导致的。

改成:

SELECT e1.name FROM emp e1,emp e2,dept d 
WHERE e1.topid=e2.id AND e1.dept_id=d.id and e1.hdate<e2.hdate;

emp表中没有hdate字段,检查一下是否写错了。