Я понимаю, что я не могу выполнить подзапрос в агрегированной функции. Как я могу обойти эту проблему. Мне нужно уметь вычислять текущий финансовый период из другой таблицы и передавать ее мой запрос. Я пытаюсь вычислить месяц до даты чисел. Любые идеи оценили.SQL AGGREGATE FUNCTION WITH SUM (CASE
SELECT SUM(CASE
WHEN CRMBNB_DATE_1.AccountingFiscalPeriod =
/*Problem subquery*/
(SELECT AccountingFiscalPeriod
FROM crmbnb_date
WHERE DAY = cast(CONVERT(VARCHAR(10), getdate(), 110) AS DATE))
AND (CRMBNB_DATE_1.FiscalYear = YEAR(DATEADD(mm, -3, GETDATE()))) THEN BL_Amount
ELSE 0
END) AS [MTD Billing]
FROM CRMBNB_BILLINGS
INNER JOIN CRMBNB_DATE AS CRMBNB_DATE_1
ON CRMBNB_BILLINGS.InvoiceDate = CRMBNB_DATE_1.Day
INNER JOIN CRMBNB_EMPLOYEE AS CRMBNB_EMPLOYEE_1
ON CRMBNB_BILLINGS.BL_EmployeeNo = CRMBNB_EMPLOYEE_1.EmployeeNo
INNER JOIN CRMBNB_SALESREGION AS CRMBNB_SALESREGION_1
ON CRMBNB_EMPLOYEE_1.Employee_Region = CRMBNB_SALESREGION_1.Region
WHERE (CRMBNB_SALESREGION_1.Area IN ('OGS'))
--AND (CRMBNB_DATE_1.AccountingFiscalPeriod IN (10)) AND (CRMBNB_DATE_1.FiscalYear IN (2013))
--AND (CRMBNB_BILLINGS.BL_ProductLine IN (@PRODUCTLINE))
GROUP BY CRMBNB_SALESREGION_1.Area,
CRMBNB_SALESREGION_1.Region,
CRMBNB_DATE_1.AccountingFiscalPeriod,
CRMBNB_DATE_1.FiscalYear,
CRMBNB_SALESREGION_1.RegionDesc,
CRMBNB_BILLINGS.BL_ProductLine
Здесь ошибка
Msg 130, Level 15, State 1, Line 4 Невозможно выполнить агрегатный функция в выражении, содержащем агрегат или подзапрос.
Работает как очарование, спасибо! –