在SQLite iPhone中join查询

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

我想得到一个病人的所有旧的实验室报告。 但在实验室表中,我没有patientID字段,所以为此我需要使用visitID字段,使用它可以连接到Visit表,在那里我有patientID

因此,现在使用visitID (一个共同的领域)我想找出病人的所有旧的实验室报告

现在我想要得到一个病人的所有实验室(我知道patientID

任何人都可以build议我join这个查询?

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

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

或者你可以做一个子select:

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