首页 > 解决方案 > 在 SQL 中计算聚合选择语句

问题描述

SELECT 
    [ODT].[Date] AS 'ds',
    SUM(CAST([ODT].[Units] AS bigint)) AS 'total',
    SUM(CAST([ODT].[BASE] AS bigint)) AS 'Base',
    SUM(CAST([ODT].[Women] AS bigint)) AS 'Women',
    SUM(CAST([ODT].[Woven] AS bigint)) AS 'Woven',
    SUM(CAST([ODT].[DHLAccessories] AS bigint)) AS 'DHLAccessories',
    SUM(CAST([ODT].[BASE] + [ODT].[Women] + [ODT].[Woven] + [ODT].[DHLAccessories] AS bigint)) AS 'Full'
FROM 
    Orders ODT

Full我在希望添加上述列的列中得到所有 NULLS

标签: sql-servertsqlselect

解决方案


可能是你有 null 问题所以尝试用 0 替换 null

SELECT [ODT].[Date] as 'ds'

,SUM(CAST( [ODT].[Units] AS bigint)) AS 'total'
,SUM(CAST( [ODT].[BASE] as bigint)) AS 'Base'
,SUM(CAST( [ODT].[Women] as bigint)) AS 'Women'
,SUM(CAST( [ODT].[Woven] as bigint)) AS 'Woven'
,SUM(CAST( [ODT].[DHLAccessories] as bigint)) AS 'DHLAccessories'
,sum(CAST( isnull([ODT].[BASE],0) + isnull([ODT].[Women],0) + isnull([ODT].[Woven],0) + isnull([ODT].[DHLAccessories],0)  as bigint)) as 'Full'

推荐阅读