我正在努力从如下所示的表中获取数据:
水平显示,按 GroupID 分组,然后是开始/处理/停止时间(按此顺序)显示在单行上,如下所示:
我已经尝试编写几个 SQL 案例语句,但我无法让它工作。我按照网上的一些建议说要在 SSRS Report Builder 的表中编写 IIF 表达式,但我无法让它工作。任何帮助都会很棒。
我正在努力从如下所示的表中获取数据:
水平显示,按 GroupID 分组,然后是开始/处理/停止时间(按此顺序)显示在单行上,如下所示:
我已经尝试编写几个 SQL 案例语句,但我无法让它工作。我按照网上的一些建议说要在 SSRS Report Builder 的表中编写 IIF 表达式,但我无法让它工作。任何帮助都会很棒。
使用普通 SQL 我认为这是您要查找的查询
SELECT
bt.GroupID as 'ID',
bt.EventStartTime as 'StartStartTime',
bt.EventEndTime as 'StartEndTime',
bt.TotalEventDuration as 'StartDuration',
pt.EventStartTime as 'ProcessStartTime',
pt.EventEndTime as 'ProcessEndTime',
pt.TotalEventDuration as 'ProcessDuration',
st.EventStartTime as 'StopStartTime',
st.EventEndTime as 'StopEndTime',
st.TotalEventDuration as 'StopDuration'
FROM
PROCESS_LOG bt
LEFT JOIN PROCESS_LOG pt ON
bt.GroupID = pt.GroupID
LEFT JOIN PROCESS_LOG st ON
bt.GroupID = st.GroupID
WHERE
bt.Event = 'Start'
AND pt.Event = 'Process'
AND st.Event = 'Stop'
我假设您必须开始才能处理和/或停止这似乎并不现实。这个想法是加入表格 3 次以提取每个事件的信息,GroupID 是关联它们的“粘合剂”。