第一次使用Stack Overflow,所有课程都在线上抛出,在线课程让我感到恐惧。
问题很简单,我需要收集有关使用datediff成立公司时年龄不超过35岁的员工的信息。
我的代码看起来像这样
选择EmployeeID,FirstName,LastName,BirthDate,HireDate,datediff(year,BirthDate,HireDate)年龄来自员工年龄<= 35;
不使用“ where”,它将发布人们开始时的年龄。我现在尝试显示我创建的“年龄”列,以发布小于或等于35岁的所有人。但是,我随着年龄的增长出现语法错误。显然,它在sql数据库中不存在。任何帮助,将不胜感激。
where
子句不能引用在select
子句中定义的别名(后者在after前者中执行)。
您需要在两个子句中都重复该表达式(或使用派生表):
select
e.*,
datediff(year, BirthDate,HireDate) Age
from employees e
where datediff(year, BirthDate,HireDate) <= 35