我们把我们十尼斯法院的资料从我们的KQQ数据库中摘录为一份简单的成果表,以帮助我们树立法院使用情况的情景。 它只是简单直截了当,只有时间超过一小时。
目前,每张书记本都使我们的成绩表一行。 每一行都有一个起步、期限和法院号码。 我们愿将这一表格直接描绘成一个电子表格或纸张表,这样我们就可以看到我们的法院被记上了多少小时,以及当天的几小时。
目前,我们的问题是:
INSERT INTO Results (year, month, day, hour, duration, court)
SELECT DATEPART (yy, b.StartDateTime),
DATEPART (mm, b.StartDateTime),
DATEPART (dd, b.StartDateTime),
DATEPART (hh, b.StartDateTime),
a.Duration,
a.Court
FROM Bookings b
INNER JOIN Activities a
ON b.ActivityID = a.ID
我们的问题是,在2、3或3小时以上的账簿上只有一行,也就是说,在预订的第一小时。 这是因为,账龄数据涵盖了账龄长度。 我们可以就数据进行一些后处理,以达到我们的目的,但是,如果能够在我们的Kingry中做到这一点,就会更容易。
可以通过某种方式修改这一询问,根据期限(可以是1、2、3、......小时)将适当数目的行文列入结果表,每次期限为1。 因此,从9am开始的3小时记账,结果表将分3行,1排在9am,1排在10am,1排在11am,每段1小时。
因此,在成果表中,没有以下段落:
Year, Month, Day, Hour, Duration, Court
2009, 08, 25, 09, 3, 1
我们取得了以下进展:
Year, Month, Day, Hour, Duration, Court
2009, 08, 25, 09, 1, 1
2009, 08, 25, 10, 1, 1
2009, 08, 25, 11, 1, 1
这将使把成果表绘制成电子表格更加容易。
UPDATE 2009-08-25: 当然,正如第一批答复所显示的那样,这只是一个问题。 罚款。
UPDATE 2009-08-26: 曾被双管齐下,没有机会尝试拟议的解决办法。 希望尽快这样做,并将根据结果选择答案。
UPDATE 2009-08-27: 最后,有机会尝试解决办法。 愤怒和共同提出解决办法的表格是表面开的。 尤其是利用交叉工作来制作这种表格。 这可能是做事的更清洁、更灵活的方式。
然而,最后,我采用了Aaaa语解决办法,涉及旗帜和简单的算法。 我确实加强了它,把他的算法总结为时段,以便保持循环,直到没有时间,而且有1人离开。 这是迅速和容易实施的。 它还强调,我们确实有大约10小时的预订,因此我不需要硬编码。
我应该指出,我把杰夫关于最长期限的想法纳入 lo中,而不是我最初的将项目定在期限和幅度上的想法;1. 略微减少代码。