case将when条件
列表 作为其第一个参数,因此您需要相应地加上方括号:
sa.case([(Model.column == value)])
因此,您的代码应如下所示:
qry = session.query( Test1.id_, Test2.field_A, sa.func.max(sa.case([(Test2.field_B == 1, "Test2.field_C")])).label("test_2_field_b_1"), sa.func.max(sa.case([(Test2.field_B == 2, "Test2.field_C")])).label("test_2_field_b_2"),)qry = qry.select_from(Test1)qry = qry.join(Test2, Test2.field_A == Test1.field_A)


