【发布时间】:2011-02-15 22:26:02
【问题描述】:
我有一个数据库(Faster),存储了数千辆汽车和设备的详细信息。我的目标是获取过去两年(自 20090101 以来)累计行驶里程少于 1000 英里的车辆和设备的清单。我正在处理的三个主要表是:
eheader(有装备信息,主键=ehuid) wheader(有工单信息;whehuid 链接到 ehuid, 工单主键是 whuid), wmreading(将抄表信息链接到每个工单; wmwhuid 链接到 whuid)。棘手的部分是,对于每件设备,我需要计算最近的抄表和大约 2 年前发生的抄表之间的差异。
另一个棘手的部分是近似。我不能保证每辆车在 2009 年 1 月和 2011 年 1 月都会发生抄表。我只能假设在大约 3 个月的范围内该设备上发生了工作订单(甚至可能留下一些车辆)。
我需要一个查询,即每辆车将从 2009 年初的某个范围内的工作订单中读取仪表读数,并从 2010 年底到现在的某个最近范围内的工作订单中减去同一车辆的仪表读数。
关于如何查询这个有什么想法吗?
【问题讨论】:
-
想用 ERD 中表格的屏幕截图来编辑您的问题吗? (显示关系?)
标签: sql database sql-server-2005 tsql