#ms-access
#ms-access
Вопрос:
Я получаю еженедельные данные и должен каждую неделю составлять отчет с MTD, QTD И YTD в одной таблице. У меня есть дата начала столбцов (понедельник) и дата окончания (воскресенье), номер месяца, номер недели, год, номер квартала и проданные доллары и проданные единицы каждого продукта. У меня есть следующий запрос, чтобы получить MTD, вдохновленный другим сообщением:
SELECT b.month AS Month,
b.[Vendor Part] AS VendorID,
(SELECT sum(a.[Dollars_Sold]) FROM [DATA] AS a
WHERE a.Month<=b.Month
AND a.Year=b.Year
AND a.[Vendor Part]=b.[Vendor Part]) AS MTD_Dollars
FROM DATA AS b
GROUP BY [Vendor Part], Month, Year
Когда я пытаюсь выполнить запрос, появляется следующее диалоговое окно:
Пожалуйста, проверьте изображение для диалогового окна
Часть поставщика — это уникальный идентификатор каждого продукта. Затем, после длительного ожидания, запрос вернет результат только с итогами за каждый месяц.
Пожалуйста, проверьте результаты
Кто-нибудь знает, что не так? Я не хочу, чтобы диалоговое окно было закрыто, я хочу, чтобы запрос мог создавать таблицу с MTD / QTD / YTD каждого продукта.
Этот запрос работает для итогов каждого месяца, но не для каждого продукта в каждом месяце. Пожалуйста, помогите. Спасибо.
Ответ №1:
Вы пропустили запятую:
SELECT b.month AS Month,
b.[Vendor Part] AS VendorID,
(SELECT sum(a.[Dollars_Sold]) FROM [DATA] AS a
WHERE a.Month<=b.Month
AND a.Year=b.Year
AND a.[Vendor Part]=b.[Vendor Part]) AS MTD_Dollars,
(SELECT sum(a.[Dollars_Sold]) FROM DATA AS a
WHERE a.Month<=b.Month
AND a.Year=b.Year
AND a.[Vendor Part]=b.[Vendor Part]) AS MTD_Units
FROM DATA AS b
GROUP BY b.[Vendor Part], a.Month,a.Year
Комментарии:
1. Спасибо, это была опечатка, но это была не моя проблема. Но я допустил ошибку, подумав, что MTD и QTD одинаковы с начала года. При выполнении MTD мне придется агрегировать данные с каждого нового месяца. Я отредактирую этот пост. Спасибо.