Как получить МАКСИМАЛЬНЫЕ Значения, используя предложение Имея в MS Access - PullRequest
0 голосов
/ 19 января 2012

У меня есть столбец (поля), который содержит несколько значений для каждой сущности (от одного до многих).

Пример: запись может ссылаться на несколько значений в этом столбце.

Что яЯ хочу получить только те записи, в которых максимальное (MAX) значение в этом столбце равно нулю.

Первое, что я сделал, - преобразовал значения в столбце в Integer, чтобы я мог получить максимальное значение.

Вот мой код:

Как мне получить код Макс?Если запись содержит более одного кода.Я хочу только запись с максимальным или максимальным кодом 00000.

Я получаю сообщение об ошибке с предложением «Имею», поскольку не могу использовать «Агрегировать» в предложении «Где».

SELECT CUSTOMER.USER_ID, MAX(CInt(CUSTOMER.REC_CODE)) AS ACTIVE_REC_CODE, 
CUSTOMER.CUS_TYPE


FROM CUSTOMER


WHERE ((CUSTOMER.REC_CODE) IS NOT NULL )


GROUP BY

CUSTOMER.USER_ID, CUSTOMER.REC_CODE, CUSTOMER.CUS_TYPE


HAVING  MAX(CInt([CUSTOMER.REC_CODE])= 00000 )

1 Ответ

3 голосов
/ 19 января 2012

Вы близки, но вам нужно удалить CUSTOMER.REC_CODE из вашего WHERE, так как вы хотите максимальное значение этого столбца.Это должно работать:

SELECT CUSTOMER.USER_ID, MAX(CInt(CUSTOMER.REC_CODE)) AS ACTIVE_REC_CODE, CUSTOMER.CUS_TYPE
FROM CUSTOMER
WHERE CUSTOMER.REC_CODE IS NOT NULL 
GROUP BY CUSTOMER.USER_ID, CUSTOMER.CUS_TYPE
HAVING  MAX(CInt([CUSTOMER.REC_CODE])) = 0 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...