2017-12-06 4 views
1

セッションとトピックで訓練を記録するアクセス訓練データベースがあります。スプリットの理由は1つのセッションで複数のトピックをカバーする可能性があります。私は、どの従業員が特定のトピックを見つけられていないかを調べるクエリを作成しようとしています。私は、各従業員がどのような訓練を受けたかを示すクエリを得るのに問題はありませんが、逆は機能しません。データモデルは以下の通り:訓練記録のない従業員を検索

あなたが使用することができます

enter image description here

+0

あなたは*みました**アクセスでUnmatched * Query Wizard **を見つける?? – ashleedawg

答えて

1

が話題に従業員IDを相関されるトピックが欠落している従業員を見つけることnot exists演算子を使用するように結合します

SELECT * 
FROM tblEmployees e 
WHERE NOT EXISTS (SELECT * 
        FROM tblTrainingTopics tt 
        JOIN tblTrainingSessions ts ON tt.sessionid = ts.id 
        JOIN tblTrainingLog tl ON tl.session = ts.id 
        WHERE tl.eenumber = e.eeid AND tt.topic = 'some_topic') 
+0

あなたはとても近いです。 1つのトピックについて正しいレポートが得られます。私はすべてのトピックを表示するレポートを取得しようとしています。言い換えれば、人物AにはトピックXがありません。人物BにはトピックYがありません。 –

+0

'some_topic'を '*'に置き換えて、すべてのトピックを1つのレポートに表示します –

関連する問題