У меня есть две табличные функции, которые очень похожи, с той лишь разницей, что мне нужен еще один вызов Max()
для второй. Я хочу объединить их в одно, но не могу понять, как это сделать.
Первая функция
ALTER FUNCTION [DayTrade].[udf_GetTotalLast90Days]
(
@Date datetime
)
RETURNS TABLE
AS
RETURN
(
SELECT Acct, Sum(AGGCnt) As AGGCnt, AGGNumb
FROM DT.vwGet_CountHist
WHERE (PostDate >= @Date - 90) AND (PostDate <= @Date)
GROUP BY Acct, AGGNumb
)
Вторая функция
ALTER FUNCTION [DayTrade].[udf_GetTotalLast90Days]
(
@Date datetime
)
RETURNS TABLE
AS
RETURN
(
SELECT Acct, Sum(AGGCnt) As AGGCnt, Max(AGGNumb) As AGGNumb
FROM DT.vwGet_CountHist
WHERE (PostDate >= @Date - 90) AND (PostDate <= @Date)
GROUP BY Acct
)
Как вы можете видеть разницу во втором, я добавляю Max(AGGNumb) As AGGNumb
и удаляю одного из Group Bys. Я попытался изменить это и передать дополнительную переменную @Agg, которая была битовым полем, чтобы затем использовать IF statement
, чтобы выбрать, какую функцию использовать, но я не смог заставить ее работать.
Любые предложения о том, как объединить эти две функции в 1?
Спасибо