2017-07-25 14 views
1

別のテーブルの値の存在に基づいてテーブル内の行を選択するクエリをAccessで作成しようとしています。私は、異なるID番号の状態を含んでいるテーブルを調べており、IDがそれにあるどの状態であっても、より低い状態を経て進行していることを確認しています。別のテーブルの結果に基づくクエリテーブル

たとえば、各IDは、見習いから職人までマスターになります。状態テーブルに記されているように、IDがマスターにある場合、イベントテーブルには、そのIDが見習いとマスターのレコードである必要があります。

クエリでは、マスター状態にありますが、イベントテーブルのエントリに基づいて状態が正しく進行していないIDを状態テーブルから返す必要があります。

以下の2つのテーブルでは、クエリでID 2が返されます。ID 2はマスタにリストされていますが、Journeyman状態にはなりませんでした。

状態表: ID Status 1 Master 2 Master 3 Apprentice 4 Journeyman

イベント表: Date Status ID 7/25/17 Master 1 7/25/17 Master 2 7/24/17 Journeyman 1 7/24/17 Journeyman 3 7/20/17 Apprentice 4 7/20/17 Apprentice 3 7/20/17 Apprentice 2 7/20/17 Apprentice 1

私がマスターとしてマークされたIDを探すためにクエリを作成しました。しかし、StateテーブルでMasterとしてマークされたIDのEventsテーブルを見るためにそこからどこに行くべきかわかりません。

これは私の簡単なクエリです。これは本当にアクセスを使用して私の最初の時間ですが、任意のポインタが評価される!

enter image description here

答えて

0

何ジャーニーマンが唯一のイベント基準でなければ、考えてみます。

SELECT * FROM State WHERE Status="Master" AND NOT ID IN (SELECT ID FROM Events WHERE Status="Journeyman");

日は予約語です。予約語を名前として使用しないでください。 EventDateが良いでしょう。

関連する問題