0

此搜索返回约 2,000 人。我想找到所有没有附加简历的人

candidates = db_session.query(Jobs).\
filter(and_(
    Jobs.interview_type == 'IN_HOUSE',
    Jobs.interview_result == 'INCLINED',
    or_(Jobs.level == '5', Jobs.level =='6'),
    Jobs.family_id == 'SDE',
)).all()

所以我尝试加入。

此搜索仅返回约 70 个结果。大概是每个附有简历的人。

candidates = db_session.query(Jobs).\
join(Resumes, Resumes.candidate_id == Jobs.candidate_id).\
filter(and_(
    Jobs.interview_type == 'IN_HOUSE',
    Jobs.interview_result == 'INCLINED',
    or_(Jobs.level == '5', Jobs.level =='6'),
    Jobs.family_id == 'SDE',
)).all()

似乎它减少了每个有简历的人的结果,而不是None在简历不存在的列中返回。

我如何写这个以便我可以找到每个人,无论他们是否附有简历?

4

1 回答 1

0

应用.outerjoin(而不是.join
考虑Jobs表(被认为是“人”)作为“”表和Resumes- 作为“”表。

于 2019-05-10T19:19:42.123 回答