Я пытаюсь написать SQL-запрос, чтобы показать сумму каждой категории. Проблема в том, что мне нужна сумма каждой категории, и даже если сумма равна нулю, она все равно должна отображать результаты.Проверка и отображение нулевого значения в запросе MS Access
Я делаю это, используя слой DAL, поэтому через C# и я использую базу данных доступа 2010.
Это мой текущий рабочий запрос:
SELECT SUM(f.bedrag) AS totaal, c.omschrijving, Limiet.maximumBedrag
FROM ((Financien f INNER JOIN
Categorie c ON f.categorieId = c.id) INNER JOIN
Limiet ON f.limietId = Limiet.id)
WHERE (f.inkomstOfUitgave = 1)
GROUP BY f.categorieId, c.omschrijving, Limiet.maximumBedrag
Теперь на вершине функции SUM мне также нужно проверить нули, и если сумма категории 0 должен отображать 0. Всех результатов, 0 теперь отфильтрованы, но я должен их видеть.
Кто-нибудь знает, как это исправить? Я пробовал IsNull()
и NZ
, но я не мог заставить его работать. Вот скриншот результата запроса.
Как вы можете видеть, я получаю два результата, но я должен получить 7, если запрос будет отображать результаты суммы 0.
Кто-нибудь знает, как это исправить?
Да, я думал, "LEFT/RIGHT JOIN" тоже. –
Прежде всего, подзапрос не работает, так как «IS» не поддерживается программой :( Во-вторых, если я запустил ваш последний запрос, я действительно получил НИЧЕГО в результате! Поэтому я считаю, что мне понадобится слева или справа? На этом изображении вы можете увидеть мою структуру db для трех таблиц, которые я использую, не могли бы вы рассказать мне, как закодировать соединение? Я продолжаю получать ошибки:/И да, фактически, все, что дает 0 так как сумма должна отображаться :) Мне нужны другие данные для чего-то еще! Структура таблицы в Access: http://i.imgur.com/MWs4hm8.png – Yenthe
* «Прежде всего, подзапрос не работает, поскольку« IS »не поддерживается программой» * Я создал таблицу, затем создал и протестировал этот запрос в Access 2007, а затем скопировал текст SQL и вставил его в ответ. Он доступен. Доступ к SQL – HansUp