select OrderID,max(PeriodID),
TotalPopCount + v_MonthActualIssueTimes Into v_TotalPopCount From adms_OrderMonthBalance Where OrderID=i_OrderID Group By OrderID Having max(PeriodID)<i_Period;
试试可以吗?
TotalPopCount + v_MonthActualIssueTimes Into v_TotalPopCount From adms_OrderMonthBalance Where OrderID=i_OrderID Group By OrderID Having max(PeriodID)<i_Period;
试试可以吗?
你有max没有group by对吗?
呵呵
楼主还是把想要做什么说出来!
大家重新写一个SQL比较简单!
2. Having max(PeriodID)<i_Period;
含义不清,可否分开写.
具体的说,那也不是条件,是跟在GROUP子句后面的,而不是WHERE子句。
但是用了group by,就要求TotalPopCount必须使用分组函数。
这才是根本错误原因。
需要在TotalPopCount + v_MonthActualIssueTimes外加函数,
是sum,avg,还是max,min??另外,按你的sql意思,按orderid分组并要求该组中最大periodid小于
某参数i_periodid,这样有可能选择不到记录,需要做些处理。