水晶:同时加入两个活动

时间:2013-12-30 19:48:45

标签: sql crystal-reports crystal-reports-2011

我有一份报告显示冷藏集装箱的事件。仅有3种事件:记录温度的REEFER_SETTINGS RECORDED和不记录温度的UNIT_POWER_CONNECT / DISCONNECT。当容器在同一时刻连接/断开电源时,会发生两个单独的事件:连接(或d / c)和温度读数:

enter image description here

客户希望删除这些冗余,而不是同时具有一个(连接或断开连接)和记录温度的那两个事件:

UNIT_POWER_CONNECT          21/12/2013 10:11        -15
REEFER_SETTINGS_RECORDED    21/12/2013 12:30        -17  
UNIT_POWER_DISCONNECT       21/12/2013 18:30        -16

我尝试通过记录时间(按分钟)创建分组,但实际上它正在删除冗余,半随机选择事件 - 临时选择或连接/直流 - 如果是后者仍然没有温度记录。有任何想法吗?我宁愿避免在SQL查询中做联合(这可能会解决这个问题),因为它已经存在并且会使事情变得非常复杂。我尝试过使用NEXT和PREVIOUS水晶功能,但没有太多运气。

编辑:关于SQL部分的说明:  对于此部分查询,有三个表很重要:存储温度的Reefer_records,存储各种事件的service_events(包括温度记录但不包括温度本身)和存储有关容器的物理信息的inv_unit。前两个表与inv_unit处于多对一关系中,当温度记录或连接事件发生时,数据被记录到两个表中 - service_events中的事件类型和reefer_records中的温度。我在巨大的快捷方式中的SQL查询如下所示:

SELECT inv_unit.id,
reefer_records.Temp_recorded
reefer_records.Time_recorded
'' as event_type
FROM inv_unit INNER JOIN reefer_records on....

UNION ALL

SELECT inv_unit.id
'' as temp_recorded
srv_events.time_recorded
srv_events.event_type
FROM inv_unit INNER JOIN srv_events on...

完整查询is here

0 个答案:

没有答案