我有一个看似常见的业务请求,但我找不到明确的解决方案。我有一份每日报告(其中有很多),它根据失败的标准生成并保存到表格中。每个报告都有一个与之关联的类型 ID 以表示它是哪个报告,并且有一个导入事件 ID 表示导入的日期(添加日期列以进行额外说明)。我添加了一个 sqlfiddle 来查看表的基本架构(因隐私问题而重命名)。
http://www.sqlfiddle.com/#!3/81945/8
当前生成的所有报告都工作正常,因此无需在表格上进行任何修改。但是,对于一份报告(类型 11),我不仅需要提取今天显示的发票,还需要添加一列,该列总计从该发票运行之日起连续天数(包括当天)。根据提供的架构,结果应如下所示:
INVOICE MESSAGE EVENT_DATE CONSECUTIVE_DAYS_ON_REPORT
12345 Yes July, 30 2013 6
54355 Yes July, 30 2013 2
644644 Yes July, 30 2013 4
我只需要最近的连续天数,而不需要任何其他可能出现的集合。我试图运行自我连接无济于事,我的最后一次尝试也被列为 sqlfiddle 文件的一部分,但无济于事。有什么建议或想法吗?我现在很困。
仅供参考: 我在 SQL Server 2000 中工作! 我看到了很多在 2005 年和 2008 年出现的巧妙技巧,但我无法访问它们。
非常感谢您的帮助!