Ваш запрос не содержит указанное выражение, как часть агрегатной функции

Не получается рассчитать стоимость с учетом скидки

SELECT зТоварный_чек.[Номер товарного чека], 
зТоварный_чек.[Дата продажи], Sum(зТоварный_чек.Сумма) AS Стоимость,
 IIf(Sum([Сумма])>2000,Sum([Сумма])*0.05,0) AS [Сумма скидки],
 [Сумма]-(IIf(Sum([Сумма])>2000,Sum([Сумма])*0.05,0)) AS [Стоимость с учетом скидки]

FROM зТоварный_чек

GROUP BY зТоварный_чек.[Номер товарного чека], зТоварный_чек.[Дата продажи];

Ответы (1 шт):

Автор решения: CrazyElf
[Сумма]-(IIf(Sum([Сумма])>2000,Sum([Сумма])*0.05,0)) AS [Стоимость с учетом скидки]
^^^^^^^ этого поля нет в group by и оно не аггрегировано

[Сумма] отсутствует в group by, вы не можете её использовать в выборке. Вот Sum([Сумма] - можете, потому что это аггрегирование по всей группе.

Если вы хотите получить стоимость с учётом скидки именно по всему чеку, то просто поставьте Sum там где вы её пропустили, и всё:

Sum([Сумма])-(IIf(Sum([Сумма])>2000,Sum([Сумма])*0.05,0)) AS [Стоимость с учетом скидки]
^^^ - вот тут пропущено было Sum
→ Ссылка