我不太喜欢Microsoft SQL Server,我有以下问题。
我有这个问题:
SELECT
[ID]
,[Numero protocollo]
,[Anno]
,[IdUor]
,[Protocollista]
,[Protocollato]
,[avorato]
,[Errore]
,[CopiaConoscenza]
,[Inoltro]
,[DataProtocollo]
,GETDATE () AS [Today]
,ABS(DATEDIFF(DAY, GETDATE (), [DataProtocollo])) AS [NumberOfDays]
FROM
[PROT_INOLTRO]
WHERE
[PROT_INOLTRO].IdUor = 1
AND [PROT_INOLTRO].Protocollista = 'i:0#.w|iwgroupnet\anobili'
AND [NumberOfDays] < 15
ORDER BY
ID DESC
如您所见,我添加了两个计算列:
[Today]
和
[NumberOfDays]
.
如您所见,我使用3个Where条件进行过滤。
我的问题是我需要使用
[数日]
列,该列是计算列,而不是直接在
PROT_INOLTRO
表。
执行此查询时,我收到以下错误消息:
消息207,级别16,状态1,第23行
列名称“numberofdays”无效
为什么我不能在我的
WHERE
条件?如何修复我的查询以获取此行为?