Я пытаюсь сделать что-то вроде этого:
x = db_session.query(
Candidate,
func.count(case([(Jobs.interview_type == 'PHONE_SCREEN' and Jobs.interview_type == 'INCLINED' , 1)])),
func.count(case([(Jobs.interview_type == 'PHONE_SCREEN' and Jobs.interview_type == 'NOT_INCLINED', 1)])),
func.count(case([(Jobs.interview_type == 'IN_HOUSE', 1)])),
func.count(case([(Jobs.interview_type == 'EVALUATION', 1)]))
).\
join(Jobs, Jobs.candidate_id == Candidate.candidate_id).\
filter(Candidate.candidate_id == '6236738').\
first()
Однако, второе условие не принимается в case
. Возможно ли это?
У меня это работает с and_
, но не дает правильного ответа
func.count(case([(and_(Jobs.interview_type == 'PHONE_SCREEN', Jobs.interview_type == 'INCLINED'), 1)])),
должен вернуть 2, но его возврат 0