sql - 处理运行总计中的空值
问题描述
我现在得到了几次帮助,每次遇到新问题时。我相信这将是这个特定项目的最后一个。下面的查询正在我正在创建的 SSRS 报告中使用,当 ReportNo 没有任何非生产时间时,它是完美的例外:这是我在特定日期有非生产时间时得到的结果:
Reportno RUNNINGTOTAL
14 10.5
但是,如果我有一个没有任何 NonProductive 的 ReportNo,我会得到:
Reportno RUNNINGTOTAL
基本上我只需要它来找到这个总和的最后一个非空值。
SELECT r.*
FROM (SELECT Reportno,
SUM(SUM((ElapsedTime))) OVER (PARTITION BY NonProductive ORDER BY REPORTNO) AS RUNNINGTOTAL
FROM dbo.DailyOperations o
WHERE NonProductive IN (1) and WellID = 'ZCQ-5' AND JobID = 'Original'
GROUP BY ReportNo, NonProductive
) r
WHERE r.ReportNo = 14
ORDER BY ReportNo;
我尝试更改 Sum,Sum(MAX) 我也尝试了 SUM(CASE WHEN DailyOperations.Nonproductive = 1 THEN DailyOperations.ElapsedTime ELSE 0 END)。我知道不仅仅是 Else 0,但我想不通。
解决方案
你为什么要做一个汇总?
SELECT SUM(ElapsedTime) AS RUNNINGTOTAL
FROM dbo.DailyOperations o
WHERE NonProductive IN (1) AND
WellID = 'ZCQ-5' AND
JobID = 'Original' AND
ReportNo <= 14
推荐阅读
- return - console.log 和 return 对 html 有什么作用?
- javascript - 检查 iOS 版本是否与 PHP 兼容,从 iOS 3.0 到 IOS 4.0 或更高版本
- javascript - 如何在Node js中从json格式中拆分字符串
- python - 使用“每周工作日”频率构建日期向量。
- bash - bash shell 脚本:将文件夹中文件夹的特定内容从每个文件夹复制到桌面上的新文件夹
- sql-server - SQL Server 数据在导出到 Excel 时引发截断错误
- graphql - 在 GraphQL 模式中使用泛型对象作为输入类型时出现问题错误:模式必须包含唯一的命名类型
- python - TypeError:只有长度为 1 的数组可以转换为 Python 标量 Python3
- vb.net - 如果字符串具有重复值 VB.Net 如何验证字符串的值
- arrays - Mongo - 根据用户名从一个集合中的多个数组中删除多个元素