1

我正在使用 Access 2010。

我有一个包含多个表的数据库,每个表都包含不同的教学数据组件。

最终,我想找到“将在即将到来的学期教授一门课程并且以前从未教过书的人”。

目前,我正在通过一系列步骤来做到这一点:

  1. 创建一个表(通过查询),其中列出了在即将到来的学期教书的每个人以及他们教的内容(该数据来自多个表)。(tbl_NewInstructors)
  2. 创建另一个表(通过查询),其中包含曾经教过的每个人的列表(但不包括即将到来的这个学期)。(tbl_NewInstructors2)
  3. 运行此选择语句:

    SELECT tbl_NewInstructors.Name, tbl_NewInstructors.Course 
    
    FROM tbl_NewInstructors
    
    WHERE (((Exists (SELECT * from tbl_NewInstructors2 
    
    WHERE tbl_NewInstructors2.Name = tbl_NewInstructors.Name))=False));
    
  4. 得到我的清单!

主要问题是每次我想运行它时都必须创建两个表,而且我宁愿只运行我的两个当前选择查询的查询,而不是对我通过这些查询创建的表的查询。不幸的是,当我尝试对查询运行查询时,它不起作用。

有什么建议么?

4

1 回答 1

1

我不确定您是否尝试过此操作,但在 Access 中,当您保存查询时,它就像一个表(实际上是一个“视图”),然后您可以使用另一个查询进行查询。为简单起见,只需保存您在第 1 步和第 2 步中创建的 2 个查询中的每一个,然后从第 3 步运行您的查询,将每个已保存查询的名称替换为 tbl_NewInstructors 和 tbl_NewInstructors2。(当然,您可以保存第 3 步中的查询,并在需要此报告时运行它)。

Most likely, you could create a single SQL to do this, but I think saving the queries will be simpler, and will reuse what you already know how to do.

于 2012-10-11T21:53:00.383 回答