sql语句 as 字段不能怎么写where条件

1)SQL语句as字段,where条件提示无效字段

select (DATEDIFF(MONTH,FirstInStoreDateTime,GETDATE())) AS 库龄 ,* from Inventory

where 库龄>3 这样就提示错误

sql语句查询,as字段会提示 字段无效

2)提供一种正确写法(select (DATEDIFF(MONTH,FirstInStoreDateTime,GETDATE())) AS 库龄FROM (select 库龄=DATEDIFF(MONTH,FirstInStoreDateTime,GETDATE()),* FROM Inventory ) t1 where t1.库龄 =1)

为什么会出现这样的错误,那是由于在

Where语句不能直接使用列别名,因此我们需要将Sql语句给包装一下

因为:SELECT 语句的执行顺序

1. from语句

2. where语句(结合条件)

3. start with语句

4. connect by语句

5. where语句

6. group by语句

7. having语句

8. model语句

9. select语句

10. union、minus、intersect等集合演算演算

11. order by语句

举报
评论 0