def test_outerjoin_where_x2_t1t2(self):

        for criteria in (t2.c.t2_id == t3.c.t2_id, t3.c.t2_id == t2.c.t2_id):
            expr = select(
                [t1.c.t1_id, t2.c.t2_id, t3.c.t3_id],
                and_(t1.c.name == 't1 #10', t2.c.name == 't2 #20'),
                from_obj=[(t1.outerjoin(t2, t1.c.t1_id == t2.c.t1_id).
                           outerjoin(t3, criteria))])
            self.assertRows(expr, [(10, 20, 30)])

            expr = select(
                [t1.c.t1_id, t2.c.t2_id, t3.c.t3_id],
                and_(t1.c.t1_id < 12, t2.c.t2_id < 39),
                from_obj=[(t1.outerjoin(t2, t1.c.t1_id == t2.c.t1_id).
                           outerjoin(t3, criteria))])
            self.assertRows(expr, [(10, 20, 30), (11, 21, None)])
Register an entity to the jobboard('s backend), e.g: a conductor.
dataset/ETHPy150Open zzzeek/sqlalchemy/test/sql/test_query.py/JoinTest.test_outerjoin_where_x2_t1t2--crossover with--dataset/ETHPy150Open openstack/taskflow/taskflow/jobs/base.py/JobBoard.register_entity