我一直无法找到一种检索数据的方法——我需要一种方法来遍历 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。但我需要一种能够基于 subject_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 的评估数据?