【发布时间】:2020-05-10 07:21:03
【问题描述】:
我有一个表 (ShipJourneys),我需要在其中计算消耗的总燃料,它是一个浮点值。见下图。
该值是通过将给定船舶在指定时间范围内的所有燃料消耗者的总和获得的。此数据包含在第二个表中。
红色框内显示有 5 个燃料消耗者(由 FK_RmaDataSumsystemConfigID 指定),其中 3 个消耗者燃烧了 0 个单位的燃料,2 个消耗了 29 个单位的燃料。
要计算该时间范围内的总燃料消耗量,对于给定的船只(由 FK_RmaID 规定),可以使用以下查询
Select sum(FuelCalc)
from FuelCalc
where Timestamp >= '2019-07-24 00:00:00'
and Timestamp <= '2019-07-24 00:02:00'
and FK_RmaID = 660
使用类似下面的查询不起作用,导致虚假值
UPDATE ShipJourneys
SET TotalFuelConsumed =
(Select sum(FuelCalc) from FuelCalc as f
WHERE f.timestamp >= StartTimeUTC
and f.timestamp <= EndTimeUTC
and f.FK_RmaID = FK_RmaID)
关于如何加入他们的任何建议
【问题讨论】:
-
更新成什么?你能做这其中的哪一部分?例如,根据其行的列更新为常量或值。 How to Ask请在代码问题中给出minimal reproducible example--剪切&粘贴&可运行代码;具有期望和实际输出(包括逐字错误消息)的示例输入(作为初始化代码);标签和版本;明确的规范和解释。对于包含最少代码的错误,您可以给出的代码是您显示的代码可以通过您显示的代码扩展为不正常。 (调试基础。)对于包含 DBMS 和 DDL 的 SQL,包括约束、索引和表格初始化。
-
我已经编辑了帖子。实际的表数据更复杂,并且驻留在不同的服务器上。撇开所有这些复杂性,我已尽力进一步解释问题
-
请use text, not images/links, for text--including tables & ERDs。转述或引用其他文本。只提供您需要的东西并将其与您的问题联系起来。仅将图像用于无法表达为文本或增强文本的内容。无法搜索或剪切和粘贴图像。在图像中包含图例/键和说明。 PS无论如何,如果是输入的,它应该是初始化代码同时格式化为表格,部分剪切&粘贴&可运行minimal reproducible example。请提供一个更简单但仍具有代表性的示例。
-
船只?什么船?一只羊?请根据您的应用解释表格。使用足够多的单词、句子和对部分示例的引用来清楚完整地表达你的意思。在给出业务关系(船)/关联或表(基础或查询结果)时,说明其中的一行根据其列值说明了业务情况。你似乎想要每个rmal的总和/聚合,你为什么不按它分组?如果你想要一个总和,你应该读过重新聚合,所以你应该读过重新分组。当您在一个句子中清楚地说明想要的行是什么时,这将是一个常见问题解答。
-
不清楚——你想要每个日期范围的总和,还是每艘船的总和,还是什么?什么是总和,作为每列集合和表的条件的列的总和?还请为给定的输入提供所需的输出。