我有两个表VisitsLabs
访问具有以下字段:idpatientID
实验室具有以下字段:idVisitID
And Visit.id = Labs.VisitID

我想获取患者的所有旧实验室报告。但是在实验室表中,我没有patientID字段,
因此,我需要使用visitID字段,通过该字段我可以连接到Visit表,这里有patientID

所以现在使用visitID(一个公共字段),我想找出患者的所有旧实验室报告

现在我想获得患者的所有实验室检查(我知道patientID

有人可以建议我加入此查询吗?

最佳答案

这是一个简单的INNER JOIN,对吗?

SELECT labs.* FROM labs INNER JOIN visit ON visit.id = labs.visitID AND patientID = ?


或者,您可以进行子选择:

SELECT labs.* FROM labs WHERE visitID IN (SELECT visit.id FROM visit WHERE patientID = ?)

10-05 21:17