我有类似的情况在WHERE条件下获取SQL中的最后一条记录 表格的例子
测试 与领域 主旨名称 TestType TestDate ResultIs 如果该TestDate的一个TestType为Positive,则返回Positive test记录 如果该TestDate的所有TestTypes都是负数,则想要返回负测试记录。
如果代码更容易编写而不返回对该日期进行任何测试的记录为正数,那么我可以在不返回肯定结果的情况下生效,因为这可能是另一个水晶报告“positive.rpt”的单独视图
因此,如果我没有正面测试时每个日期需要1条记录,(同样地说,当所有测试都是负数时,我每个日期需要1条记录)
TESTING(这是一个真正的观点)。
SubjectName TestDate ResultIs TestType
=========== ======== ======== ========
Alexandaria 20140215 Negative test0001
Alexandaria 20140215 Positive test0002
Alexandaria 20140215 Positive test0003
Alexandaria 20140220 Negative test0002
Alexandaria 20140220 Negative test0003
Alexandaria 20140228 Negative test0003
Alexandaria 20140228 Positive test0004
Alexandaria 20140228 Positive test0005
TestType在选择中无关紧要,前3个的组合是完美的,但只有当日期的所有记录都是负数时。选择ResultIS下沉到最后(或Max)的日期的最后一条记录。我需要做一个子查询吗?
查询到此表单视图的首选输出 查看
SubjectName TestDate ResultIs TestType
=========== ======== ======== ========
Alexandaria 20140215 Positive test0002
Alexandaria 20140215 Positive test0003
Alexandaria 20140220 Negative test0003 or test0002 does not matter
Alexandaria 20140228 Positive test0004
Alexandaria 20140228 Positive test0005
或只是负面记录,该日期没有正面。
SubjectName TestDate ResultIs TestType
=========== ======== ======== ========
Alexandaria 20140220 Negative test0003 or test0002 does not matter
此外,由于最后一个输出视图被定义为日期的仅负记录,我甚至不需要testtype或Result输出,只需要名称和日期 但是使用“否定”的where子句仍然会以某种方式包含具有正结果的日期。我不知道如何解决这个问题。
SubjectName TestDate
=========== ========
Alexandaria 20140220
2月20日是唯一的负面日期,这就是我愿意接受的。
难以辨认的是主题清单
Alexandria
Betty
Tom
Sue
SELECT SubjectName,TestDate FROM TESTING 内联接测试到Demotable(如果subjectname = subjectname) 其中resultIS =负数 按主题分组,TestDate