我有一个记录表,其中包含如下所示的数据:
ID 味精 日期 --------------------------------------------- 1 测试 2010-01-01 09:00:00 2 工作开始时间 2010-01-01 09:03:00 3 做点什么 2010-01-01 09:03:10 4 做点别的事情 2010-01-01 09:03:12 5 做点什么 2010-01-01 09:04:19 6 工作结束 2010-01-01 09:06:30 7 工作开始 2010-01-01 09:18:03 8 做点什么 2010-01-01 09:18:17 9 做其他事情 2010-01-01 09:19:48 10 工作结束 2010-01-01 09:20:27
它包含(除其他外)应用程序编写的消息。我有兴趣为所有此类“工作开始”和“工作结束”对生成“工作开始”记录和“工作结束”记录之间写入的所有内容的报告。理想情况下,报告应如下所示:
BATCH_NUM ID 消息日期 -------------------------------------------------- -------- 1 3 做点什么 2010-01-01 09:03:10 1 4 做点别的事情 2010-01-01 09:03:12 1 5 做点什么 2010-01-01 09:04:19 2 8 做点什么 2010-01-01 09:18:17 2 9 做其他事情 2010-01-01 09:19:48
(添加批次之间的换行符以使其更易于阅读)
输出报告省略了“Job Start”和“Job End”消息,以及“TEst”消息(存在于一对“Job Start”和“Job End”之外。
我什至不确定从哪里开始编写这种查询,或者为此使用 PL/SQL 是否更好。哎呀,我什至不确定我正在尝试做的事情是否有合适的技术术语。;)
(oracle版本为10g)