Запрос на суммирование и подавление в MS Access - PullRequest
0 голосов
/ 09 февраля 2012

Структура таблицы, которую я сейчас имею, выглядит следующим образом:

Категория ----- Описание ----- Порог ------ Ошибки

Cat1 --------------- Информация ------------------ 90% ---------- - 1

Cat1 --------------- Информация ------------------ 90% ---------- --- 4

Cat2 --------------- Руководство -------------- 15% ------------ 5

Cat2 --------------- Руководство -------------- 15% ------------ 2

Cat2 --------------- Руководство -------------- 15% ------------ 0

Но я хочу получить это так:

Категория ----- Описание ----- Порог ------ Ошибки

Cat1 --------------- Информация ------------------ 90% ---------- --5

Cat2 --------------- Руководство -------------- 15% ------------ 7

Я пытался использовать SUM для [Errors] и GROUP в конце моего SQL, но, похоже, это не помогло.

1 Ответ

2 голосов
/ 09 февраля 2012
SELECT 
    Category,
    [Description],
    Threshold,
    Sum(Errors) AS SumOfErrors
FROM YourTable
GROUP BY
    Category,
    [Description],
    Threshold;

Я не понимаю, почему этот запрос не должен получить то, что вы хотите.Обратите внимание, что я заключил описание в квадратные скобки.Описание - это зарезервированное слово (см. Имена проблем и зарезервированные слова в Access ), а квадратные скобки проясняют для механизма обработки данных, что вы ссылаетесь на имя поля, а не на зарезервированное слово.

Я не знаю, что двусмысленное имя стало причиной твоих проблем.Однако почти невозможно предсказать, когда зарезервированные имена будут кусать вас.Вы могли бы быть хорошо во многих контекстах, прежде чем ударить тот, который причиняет боль.Лучше всего избегать использования зарезервированных слов для имен объектов базы данных.И когда вы абсолютно не можете избежать их, по крайней мере заключите эти имена в квадратные скобки, куда бы вы ни ссылались на них в своих запросах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...