你们能告诉我下面的情况吗? 我有2张桌子。
同时,这是表2:
我想将表2连接到表1,根据上限和下限列查找每个作业的成绩。
通过概念化一些可爱的答案,我设法提出一个看起来像这样的声明:
FROM table2 LEFT JOIN table1 ON (table2.[score] >= table1.[lower limit]) AND (table2.[score] <= table1.[upper limit])
上面的声明设法根据范围加入它们,但是,由于某些未知的原因,左表中的某些行丢失了,我无法确定它是什么。例如(表2中的2000行,但查询中只有1800行)
我确定连接是原因,就好像我将连接更改为相等的左连接一样,查询中出现了2000行。
有人可以就此提出建议吗?
此致 光勇
答案 0 :(得分:0)
创建一个包含1-100值的表并在每个类别中分配它们并基本上镜像表1可能会更加清晰。 然后你可以做表2
SELECT Table1.Grade, Table2.Score
FROM Table2 LEFT JOIN Table1 ON Table2.Score = Table1.Score
这肯定会覆盖0到100之间的所有整数。
如果您手动输入分数,您还可以使用数据宏,如下所示: 转到表格工具&gt;&gt;表&gt;变更前
然后使用设置字段操作,并设置
姓名 = Table2.Grade
值 = IIf([Score]>=70,"Good",IIf([Score]<=59,"bad","so so"))
使用此^每次输入分数时,它都会自动填充成绩列。
另一个选项是按如下方式创建一个查询,它将评估每一行并指定适当的等级:
SELECT Table2.Score,
IIf([Score]>=70,"Good",IIf([Score]<=59,"bad","so so")) AS Grade
FROM Table2;
祝你好运!