我有一个中等大小的表(TBL):查找日期下记录的人,这与比较它们的初始记录
id,
person_id,
date,
resultA,
resultB,
resultC,
resultD
约20000结果。
表格的每个id对应于4个不同测试中的人员结果以及他们的person_id。
例如
id 1
person_id 2 (Joe Bloggs (made up name))
result on date (01/01/2012)
A positive,
B negative,
C negative,
D negative
我需要执行一个查询,其中它选择其中一个结果为正数而其余为负值的记录。简单!
SELECT id, person_id, date, resultA, resultB, resultC, resultD
FROM tbl
WHERE resultA = "P" AND resultB = "N" AND resultC = "N" AND resultD = "N"
棘手的一点是,我想找出此人的下一个结果,按日期,是对每个符合上述条件的记录。然后我想比较两个结果,看看结果是否已经改变。即结果B可能会在Joe Bloggs(制作名称)结果之间的一个月的说法中从“N”改变为“P”,并且我需要捕获该结果。
我相信我需要在访问2010年使用子查询,但我不能完全解决如何做到这一点。
仅供参考如果您打电话记录为20k条记录“大量”,您会看到一些有趣的外观... – JNK 2012-02-22 14:27:44
好的...这是一个中等大小。当我习惯于处理几百条记录时,这对我来说很重要:p – jameslagan 2012-02-22 14:29:35
在数据库中,具有数亿或数十亿行的表是常见的。 – JNK 2012-02-22 14:31:00