我正在尝试构建一个查询,以便将特定考试的学生结果作为可以合并到word文档的表格。以下工作正常,但似乎非常缺乏,因为我需要在同一个iif语句中调用两次相同的查询。
Test1: IIf(Round((SELECT tblMarks.Score FROM tblMarks WHERE tblMarks.Test = 'Test1' AND [tblMarks].[ID] = [tblStudents].ID AND [tblMarks].[Rewrite] = false)*100,0)<70,70,Round((SELECT tblMarks.Score FROM tblMarks WHERE tblMarks.Test = 'Test1' AND [tblMarks].[ID] = [tblStudents].ID AND [tblMarks].[Rewrite] = false)*100,0))
为了摆脱第二次查询调用,我尝试了以下内容,但是IIF错误条件不能识别StudentScore。
Test1: IIf(Round((SELECT tblMarks.Score AS StudentScore FROM tblMarks WHERE tblMarks.Test = 'Test1' AND [tblMarks].[ID] = [tblStudents].ID AND [tblMarks].[Rewrite] = false)*100,0)<70,70, StudentScore)
我有很多测试字段(test2,test3等等),所以即使只删除每个字段的额外查询也可能有助于加快速度。
有没有人知道我想做什么甚至可能???任何帮助表示赞赏。
感谢。
更新:
我正在尝试创建一个表/查询,用于合并到带字段的MS Word文档中。这个新查询将许多表合并为一个。这是表结构的例子:
tblStudent:学生ID,姓名等...很多个人信息 tblScore:StudentID,测试,分数,重写等......
新查询字段为:
DISTINCT tblStudent.StudentID,tblStudent.Name,tblScore.Test(如上所示)AS Test1,tblScore.Test(与上面相同但有test2)AS Test2,...其中CourseName .....
希望这有助于人们看到我想要做的事情;哪个工作正常我只是想消除if语句中的第二个查询。对不起,这是我现在能做的最好的事情,因为我现在不在工作,这就是存储所有这些东西的地方。