我的问题如下:
SELECT * FROM `C_Institute`
WHERE `ID` IN
(SELECT `instituteID` FROM `C_Faculty` WHERE `ID`
IN (SELECT `facultyID` FROM `C_EducationalGroup` WHERE `ID`
IN (SELECT `educationalGroupID` FROM `C_StudyField` WHERE `ID`
IN (SELECT `studyFieldID` FROM `b_PersonEmployment` WHERE `personID`=1 ORDER BY `startDate` limit 1) )));
但mysql不支持 limit
以及 in
在子查询上。我不知道怎么写这个查询。有人能帮我吗?
提前谢谢
3条答案
按热度按时间92vpleto1#
谢谢你的回答。但我认为加入并不是解决这个问题的好方法。我已经通过两个查询完成了(也许不是个好主意,但比join更好):
ajsxfq5m2#
假设每个表中的id引用另一个表,
试试这个,告诉我:
另外,分享你的表格描述以获得更多线索
ubof19bj3#
您可以将此查询重写为一系列联接: