我想写一个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中的全部结果现在被过滤掉了,但我必须看到它们。
有人知道如何解决它吗?我试过IsNull()
和NZ
,但我无法工作。 以下是查询结果的屏幕截图。你可以看到我得到两个结果,但如果查询将显示总和为0的结果,我应该得到7。
任何人都知道如何解决这个问题?
是啊,我在想“左/右JOIN”了。 –
首先,子查询不起作用,因为“IS”不被程序支持:( 其次,如果我运行最后一个查询,我确实得不到任何结果!所以我相信我需要一个左或右连接然后? 在这张图片你可以看到我使用的三个表的数据库结构,你能告诉我如何编码连接吗?我不断收到错误:/是的事实上,所有的东西给0作为总和应显示:)我需要其他数据的其他东西! Access中的表格结构:http://i.imgur.com/MWs4hm8。png – Yenthe
*“首先,子查询不起作用,因为”IS“不被程序支持”*我创建了一个表,然后在Access 2007中创建并测试了该查询,然后将SQL文本和将其粘贴到答案中。它是有效的访问SQL – HansUp