【发布时间】:2019-02-27 18:52:18
【问题描述】:
我需要一些关于如何解决报告查询问题的想法。
正在使用 3 列,都在同一个表中,“EventDate”、“Distance”和“EventName”。
对于每个注册的事件,事件的时间和日期与“事件名称”一起记录。
我需要查询做的是计算所谓的主要事件之间的 SUM(距离),主要事件有设定的名称,但每天可以重复发生几次。
我想不出一种方法来编写一个使用“EventDate”的查询,其中“EventName” = 'something' 然后继续运行直到到达“EventName” = 'Something else' 然后给出 SUM(Distance) 然后重新开始从下一个“EventName”='something' 开始,并一直这样做,直到数据集中没有更多具有“EventName”='something' 的记录。
抱歉,如果这令人困惑,非常感谢任何帮助或代码 sn-p 让我继续解决这个问题。
EventName EventDate Distance
All Clear 2018-09-06 01:54:00.000 0
Passing 3 Nmz 2018-09-06 02:35:00.000 0
Commence Sea Passage 2018-09-06 03:00:00.000 10
Commence Sea Passage 2018-09-06 03:00:00.000 0
DailyReport 2018-09-06 12:00:00.000 119
End Of Sea Passage 2018-09-07 05:45:00.000 335
Pilot Embarked 2018-09-07 06:00:00.000 0
Tug Fast 2018-09-07 07:40:00.000 0
Mooring Commenced 2018-09-07 08:15:00.000 0
All Fast 2018-09-07 08:45:00.000 19
Pilot Embarked 2018-09-07 23:18:00.000 0
Unmooring Commenced 2018-09-07 23:45:00.000 0
All Clear 2018-09-08 00:00:00.000 0,01
Pilot Disembarked 2018-09-08 01:30:00.000 0
Commence Sea Passage 2018-09-08 01:40:00.000 17
Voyage Complete 2018-09-08 01:40:00.000 0
Voyage Commenced 2018-09-08 01:45:00.000 0
End Of Sea Passage 2018-09-08 10:00:00.000 83
Anchored 2018-09-08 11:00:00.000 3,2
DailyReport 2018-09-08 12:00:00.000 0
All Fast 2018-09-09 20:00:00.000 40
在上述数据集上,我想知道与“All Clear”的距离,包括“All Fast”。
【问题讨论】:
-
您能否添加一些示例数据以及您希望从查询中获得的预期结果?
-
谢谢,添加了一些示例数据来说明。
标签: sql tsql reporting-services sql-server-2016