使用查询计算两个不同访问文件中的记录

时间:2011-10-13 04:15:41

标签: sql ms-access

我有两个ms访问2003(.mdb)文件,一个是学生记录,另一个是测试分数。

student record.mdb contents
tables:
basicinfo
schoolsattended
familyinfo

test scores.mdb contents
tables:
verbal
written

你可以看到我的学生record.mdb有3个表,测试得分.mdb有2个,重要的表只有basicinfo,口头和书面,不介意其余的。我想要做的是计算有多少学生使用查询口头和书面得到特定的比例分数,如下所示。

[basicinfo](table1-student record.mdb)
[Name     age     rawscoreverbal    rawscorewritten](fields)
mark      16      6                 6
paul      17      5                 5
bryan     16      8                 8
jenny     16      7                 7

verbal(table1-test scores.mdb)
[rawscore     scaledscore](fields)
1                1
2                1
3                2
4                2
5                3
6                3
7                4
8                4
9                5
10               5

writen(table2-test scores.mdb)
[rawscore     scaledscore]fields
1                1
2                1
3                2
4                2
5                3
6                3
7                4
8                4
9                5
10               5

expected output

Verbal:
Scaled Score      Count
1                 0
2                 0
3                 2
4                 2
5                 0

written:
Scaled Score      Count
1                 0
2                 0
3                 2
4                 2
5                 0

我尝试过使用此代码

SELECT v.scaledscore as [Scaled Score], count(i.rawscore) as [Count]
FROM verbal v LEFT JOIN basicinfo i ON v.rawscore = i.rawscore
GROUP BY v.scaledscore

它可以工作,但前提是所有表都在一个.mdb文件中。但我需要两个单独的.mdb文件,因为我还有其他一些与它有关的东西。我不想解释它,因为它是一个很长的故事。可能吗?如果是的话,有人可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

在要运行查询的MDB中,链接到另一个MDB中的表。如果您使链接名称与表名相同,查询将找到它所需的内容。

要链接到Access 2003中的外部表,请从主菜单中选择文件 - >获取外部数据 - >链接表。从那里,对话框将指导您选择数据库,然后选择表格。

如果是Access 2007,请在功能区的“外部数据”部分找到“导入”上方的“访问”图标。