在where子句中使用DATEADD

时间:2014-04-07 15:14:34

标签: sql sql-server

我正在尝试在where子句中使用DATEADD函数。下面是以下代码,我得到的错误在它下面。有谁知道是什么问题?

select e.GenProdIdent, e.GenericLaunchDate, DATEADD(month, -12, min(e.GenericLaunchDate)) TwelveMosPrior, SUM(WACDollars) from ErosionData2 e
join mddb m on m.GenProdIdent = e.GenProdIdent
join wkdata2 w on w.NDC11 = m.NDC
where m.RepckgCode <> 'x' and w.recorddate between DATEADD(month, -12, min(w.recorddate)) and e.GenericLaunchDate and e.genprodident = '44505080000320'

group by e.GenProdIdent,
e.GenericLaunchDate

Msg 147,Level 15,State 1,Line 4 聚合可能不会出现在WHERE子句中,除非它位于HAVING子句或选择列表中包含的子查询中,并且要聚合的列是外部引用。

0 个答案:

没有答案
相关问题