gpt4 book ai didi

sql - 计数返回空白而不是0

转载 作者:行者123 更新时间:2023-12-03 23:26:24 25 4
gpt4 key购买 nike

今天是个好日子。这是我的代码:

SELECT 
'Expired Item -'+ DateName(mm,DATEADD(MM,4,AE.fld_LOAN)) as [Month]
,COUNT(PIT.fld_ID)'COUNT'
,SUM (PIT.fld_GRAM)'GRAMS'
,SUM (PH.fld_AMNT)'PRINCIPAL'
FROM #AllExpired AE
INNER JOIN Transactions.tbl_ITEM PIT
ON AE.fld_MAINID=PIT.fld_MAINID
INNER JOIN Transactions.tbl_HISTO PH
ON AE.fld_MAINID =PH.fld_MAINID
GROUP BY DATENAME(MM,(DATEADD(MM,4,AE.fld_LOAN)))

我面临的问题是,如果没有任何值,我的Count函数不会返回0;如果没有检索到的结果值,Sum函数不会返回NULL。相反,它仅输出空白。为什么会这样,我该如何解决?
这是示例输出的屏幕截图。

当然这不是我想要的。我希望它输出零和零。请帮助我,我不知道怎么了。谢谢。

最佳答案

当您的源中不存在任何记录时,您不能期望使用GROUP BY子句输出任何记录。

如果希望SUM和COUNT函数的输出为0,则不应使用GROUP BY。

原因是,当您没有记录时,GROUP BY子句没有任何分组依据,因此无法提供任何输出。

例如:

SELECT COUNT(*) FROM (SELECT 'Dummy' AS [Dummy] WHERE 1 = 0) DummyTable


将返回一个值为'0'的记录,其中为:

SELECT COUNT(*) FROM (SELECT 'Dummy' AS [Dummy] WHERE 1 = 0) DummyTable
GROUP BY [Dummy]


将不返回任何记录。

关于sql - 计数返回空白而不是0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19221630/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com