データを取得する方法を見つけるのに苦労しています。mysql クエリで複数の外部キー関係をトラバースする方法が必要です。一般的なテーブル構造は次のとおりです。
Subjects (table)
-id
-fname
-lname
-etc.
Events(table):
-id
-subject_id
-procedure_id
-date
Procedures(table):
-id
-description
これらの識別子は、次のような他のテーブルで使用されます。
Assessment1(table):
-id
-event_id
-data, etc.
Assessment2(table):
-id
-event_id
-data, etc.
私が抱えている問題は、アセスメント 1 とアセスメント 2 の両方のイベントを持つ被験者のすべてのアセスメント データを取得できることです。同じ event_id (この例では、Assessment1 と Assessment 1a)。しかし、サブジェクト ID に基づいてリンクできるようにする方法が必要です。これは、イベント テーブルを通過するため、評価テーブルにはありません。
私が正常に使用したクエリ (event_id に基づく) は次のとおりです。
select 
    s.first_name, 
    s.last_name, 
    s.ssn, 
    e.subject_id, 
    n.*,
    l.Q23 
from 
    subjects s, 
    events e, 
    Assessment1 n, 
    Assessment1a l 
where 
    e.subject_id = s.id 
    and l.event_id = e.id 
    and l.Q23 = "1" 
    and n.event_id = e.id
これを変更して、event_id が異なるが subject_id が同じである評価のデータを取得するにはどうすればよいですか?