ALTER PROCEDURE Sp_Num_Tracking
@UserID int
AS
BEGIN
declare @lastLogonDate datetime;
ALTER PROCEDURE Sp_num_Tracking
@UserID int
AS
BEGIN
declare @lastLogonDate datetime;
declare @CurrentLogonDate datetime;
declare @onemonthtime datetime;
declare @frmbeg int;
declare @oneweektime datetime;
select @lastLogonDate= max( crimedate) from tblcrime where UserID=@UserID
set @CurrentLogonDate=getdate()
set @onemonthtime=dateadd(mm,-1,@CurrentLogonDate)
set @oneweektime=dateadd(dd,-7,@CurrentLogonDate)
select @frmbeg= max(crimeID)-min(CrimeID) from tblcrime
SELECT count(o.crimeID)
from tblcrime o
inner join
tblContractor ts
on o.MainContractorID=ts.ContractorID
inner join
tblBusiness tb
on o.MainContractorBUID=tb.BusinessID
inner join tblservant tw on
o.servantID=tw.servantID
inner join tblUser u
on u.ContractorID=o.MainContractorID
where count(o.crimeID) between @lastLogonDate and @onemonthtime or count(o.crimeID) between @lastLogonDate and @oneweektime
END
但是它给出了这样的错误“聚合可能不会出现在 WHERE 子句中,除非它位于 HAVING 子句或选择列表中包含的子查询中,并且正在聚合的列是外部引用”。我想修改哪一部分....请帮助