Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Access > Суммирование с условием


Автор: suse 12.6.2009, 22:04
Есть таблица:
ID заказчика    ID модели    Название модели    Дата заказа    Количество единиц
10601                         2         AMD Standart    10.03.2009                              50
10602                         4      Intel Standart    11.03.2009                              15
10603                         1         AMD Premium    02.03.2009                              20
10604                         2         AMD Standart    03.03.2009                              60
10605                         4         Intel Standart    10.03.2009                              150
10606                         2         AMD Standart    09.03.2009                              300
10607                         3         Intel Premium    08.03.2009                              175
10608                         2         AMD Standart    08.03.2009                              45

После запроса:

Код

SELECT[ID заказчика],[ID модели], [Название модели], [Дата заказа],[Количество единиц],
Sum([R1 оформление заказа]![Количество единиц]) AS [Sum-Количество единиц]
FROM [R1 оформление заказа]
GROUP BY [R1 оформление заказа].[ID заказчика], [R1 оформление заказа].[ID модели], [R1 оформление заказа].[Название модели], [R1 оформление заказа].[Дата заказа], [R1 оформление заказа].[Количество единиц]
HAVING ((([R1 оформление заказа].[ID модели])=2))
ORDER BY [R1 оформление заказа].[ID заказчика];


Получается:

ID заказчика    ID модели    Название модели    Дата заказа    Количество единиц    Sum-Количество единиц
10601                          2          AMD Standart    10.03.2009                              50                              50
10604                          2      AMD Standart    03.03.2009                              60                              60
10606                          2          AMD Standart    09.03.2009                              300                              300
10608                          2      AMD Standart    08.03.2009                              45                              45
Подскажите почему не получается сумма по домену "Количество единиц"...

Автор: bopoha 13.6.2009, 10:06
Запрос правильно работает. 

Просто наложите условие [R1 оформление заказа].[ID модели])=2 на исходный набор и получите то же самое. А попробуйте убрать (или применить функцию из Max, First, Last и т.д.) дату и количество единиц, например, как у вас начнется считаться сумма в группе. А так у вас нет группы.

Автор: Akina 13.6.2009, 22:12
Модератор: Используйте тег кода.

Включать [R1 оформление заказа].[ID модели] одновременно и в GROUP BY, и в HAVING без агрегатной функции - какой смысл?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)