2016-09-21 15 views
2

私は左のシリーズは、いくつかのテーブルに結合しperfroms SQLクエリを持っている:SQLALchemyで左結合を実行する方法は?

SELECT 
<some attributes> 
FROM table1 t1 
INNER JOIN table2 t2 
     ON attr = 1 AND attr2 = 1 
LEFT JOIN table3 t3 
    ON t1.Code = t2.Code AND t3.Date_ = t1.Date_ 
LEFT JOIN tabl4 t4 
    ON t4.Code = t1.code AND t4.Date_ = t1.Date_ 

はこれまでのところ、私が持っている:

(sa.select([idc.c.Code]) 
      .select_from(
       t1.join(t2, and_(t1.c.attr == 1, t2.c.attr2 = 1)) 
       .join(t3, t3.c.Code == t1.c.Code))) 

を私が作る方法を見つけ出すことはできませんLEFT JOINに参加してください。

+1

あなたは 'join' – adarsh

+2

アウター・ジョインの代わりに' outerjoin'を使用することができます参加に代わるものではありません。私は左の結合が必要です。 – user1742188

答えて

0

isouter = Trueフラグを指定すると、LEFT OUTER JOINが生成され、LEFT JOINと同じになります。ここで

2

はisouter使用する方法である:

select_from(db.join(Table1, Table2, isouter=True).join(Table3, isouter=True)) 
関連する問題