无法弄清楚这个查询。我有4个表人,学生,关系和房子。人员表包含学生和家长,我有一个名为关系的联接表,它将学生与父母联系起来。
我正在尝试获取我为学生提供的IDS所有父母的清单。 pn别名应代表Pupil详细信息,rp应代表父详细信息。我有以下代码,但我不确定你可以链接到一个表两次,就像我使用PERSON所以我应该使用子查询还是我错过了一些非常明显的东西?
SELECT pn.pk_PersonID,
pn.Title,
pn.Forename,
pn.Surname,
rp.Title,
rp.Forename,
rp.Surname,
pn.PreferredForename,
pn.DoB,
pn.Gender,
h.House,
p.Form,
p.BoardingStatus,
p.Tutor,
h.Housemaster
FROM PUPIL AS p
LEFT JOIN PERSON AS pn ON p.pk_PupilID = pn.pk_PersonID
LEFT JOIN HOUSE AS h ON p.fk_DepartmentID = h.fk_DepartmentID
LEFT JOIN RELATION AS r ON p.pk_PupilID = r.fk_PersonID
LEFT JOIN PERSON AS rp ON r.fk_RelatedPersonID = rp.pk_PersonID
WHERE p.pk_PupilID IN('" & pks & "') AND ORDER BY pn.Forename ASC