Sql 在交叉表查询中将空值转换为零

Sql 在交叉表查询中将空值转换为零,sql,pivot,isnull,Sql,Pivot,Isnull,下面的代码是导致交叉表查询的较大代码的子集。问题在于,右边的合计列对交叉表查询中的所有数字列进行合计,但该列的计算结果不准确,因为它在尝试求和的12列中的某一列中具有空值的任何行的计算结果都是0 我认为,如果值为null,我需要在代码中的下一行添加一个条件,以得到零。我只是需要有人再看看。如果有更好的替代方案,我也很乐意接受 MX in(M1、M2、M3、M4、M5、M6、M7、M8、M9、M10、M11、M12)的总和(条目) 我认为可以使用COALESCE或IFNULL函数将null值替换为

下面的代码是导致交叉表查询的较大代码的子集。问题在于,右边的合计列对交叉表查询中的所有数字列进行合计,但该列的计算结果不准确,因为它在尝试求和的12列中的某一列中具有空值的任何行的计算结果都是0

我认为,如果值为null,我需要在代码中的下一行添加一个条件,以得到零。我只是需要有人再看看。如果有更好的替代方案,我也很乐意接受

MX in(M1、M2、M3、M4、M5、M6、M7、M8、M9、M10、M11、M12)的总和(条目)


我认为可以使用COALESCE或IFNULL函数将null值替换为0进行求和计算。查看此响应:

要避免空结果,请在原始查询中使用
ISNULL(条目,0)
而不是
Entry
。这将用0替换任何返回的null

你好,麦克林。你能具体说明我应该编辑代码的哪一部分吗?在查询的多个部分中引用条目。您认为应该对透视部分中的引用进行编辑吗?在初始选择语句中进行更改。选择tblcents.prop、tblAccounts.Category\u EXCO、tblcents.CenterNum、tblAccounts.AccountNum、tblAccounts.Account\u Description、tblAccounts.Is\u Revenue、tblAccounts.Is\u over\u EBITDA、tblcents.Division\u Description、tblcents.[Is\U F&B1],tblCenters.Group_Description,isnull(条目,0)——替换条目以处理潜在的空值,来自GA_Financial.dbo.tblSAP的MX
        SELECT 
         tblCenters.prop
        ,tblAccounts.Category_EXCO
        ,tblCenters.CenterNum
        ,tblAccounts.AccountNum
        ,tblAccounts.Account_Description
        ,tblAccounts.Is_Revenue
        ,tblAccounts.Is_Above_EBITDA
        ,tblCenters.Division_Description
        ,tblCenters.[Is_F&B1]
        ,tblCenters.Group_Description
        ,Entry
        ,MX
            FROM GA_Financial.dbo.tblSAP 

            left join tblMX on tblSAP.MDY = tblMX.MDY
            left join tblAccounts on tblSAP.AccountNum = tblAccounts.AccountNum
            left join tblCenters on tblSAP.CenterNum = tblCenters.CenterNum and tblSAP.Prop_SAP = tblCenters.PROP_SAP

            WHERE tblAccounts.Is_Above_EBITDA = 1
            AND tblSAP.Type = 'A'

        ) 
    AS Tab1
--The code below breaks down column "Entry" into twelve individual monthly columns and fills columns M1 through M12
    PIVOT
        (

        SUM(entry) for MX in (M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12)
        ) as TAb2

        where Prop = 'RWNY'