0

MS Access データベースに 3 つのテーブルがあります。

  1. 学生(学生名、メールアドレス)
    1. コース(コース名・料金)
    2. 登録(科目名、学生名)

各学生が以前に受講したことのないすべてのクラスを表示できるクエリを作成したいと考えています。これにより、私の登録マネージャーは、より多くのクラス登録を行うために彼らを追跡することができます.

MS ACCESSでこれを簡単に行うにはどうすればよいですか? 結果のクエリは次のようになります。

ジェームズ|高度なフラッシュ| James|高度な編集| エイドリアン|基本編集| エイドリアン|ベーシックフラッシュ| エイドリアン|高度なフラッシュ| エイドリアン|高度な編集|

(James はすべての「Basic」クラスを受講しましたが、Adrian は「Basic」および「Advanced」クラスを受講していません)

4

1 に答える 1

0

このタイプのクエリを実行する場合driver、学生とコースのすべての組み合わせを含むテーブルがあると役立ちます。次に、これを登録に結合し、一致しない行を選択します。

select driver.*
from (select s.StudentName, c.CourseName
      from Students as s,
           Courses as c
     ) as driver left join
     Registration as r
     on r.StudentName = driver.StudentName and
        r.CourseName = driver.CourseName
where r.StudentName is NULL;
于 2013-05-24T17:51:31.687 に答える