У меня возникли проблемы с запуском запроса в MS Access 2007. У меня следующий запрос, который работает нормально:
SELECT boq.PIPE_AG,
boq.PIPE_UG,
boq.Pipe,
boq.Unit,
SUM(boq.Quantity) AS SumOfQuantity
FROM [Total - BOQ] boq
GROUP BY boq.PIPE_AG, boq.PIPE_UG, boq.Pipe, boq.Unit
HAVING boq.PIPE_AG In (-1,1) OR boq.PIPE_UG In (-1,1);
Когда я добавляю boq.Pipe = '1' к вызову HAVING
следующим образом:
HAVING boq.Pipe ='1' AND (boq.PIPE_AG In (-1,1) OR boq.PIPE_UG In (-1,1))
Я получаю сообщение об ошибке:
Вы попытались выполнить запрос, который не включает указанное выражение 'boq.Pipe =' 1 'And (boq.PIPE_AG In (-1,1) или boq.PIPE_UG In (-1,1))' как часть агрегатной функции.
Я немного озадачен тем, почему он жалуется. У меня есть все три поля в предложении GROUP BY
моего запроса. Запрос работает нормально, если я изменяю его на использование предложения WHERE
, но я пытаюсь понять, почему он жалуется, когда я добавляю поле Pipe в предложение HAVING
.