2016-11-11 44 views
0

我一直在網上尋找答案。我希望這裏有人能幫助我。在一次連接中加入多個表格

我想用下面的步驟構成下面的查詢。有可能嗎?

 

SELECT * FROM table1 
LEFT JOIN (table2, table3) ON (
    table1.id = table2.foreign_id 
    AND table2.foreign_id = table3.id 
); 

+0

發佈樣本數據和樣本數據的預期結果。我相信可以找出SQL。我仍然有一個擔心,你不應該混合','加入表示符與ANSI-92使用Join關鍵字加入表示法;但是推動可能會有所不同。 – xQbert

+0

我注意到你的立場上加入符號,因爲兩者產生不同的結果。我實際上只是嘗試使用兩個單獨的連接而不是一個,但由於使用左連接,結果不同。它將用於內部連接。但不幸的是,這不是我要找的。無論如何,感謝您的回覆,我決定只使用自定義的SQL並破解s *** out of propel。 – uji

回答

0

你試過這樣的事嗎?

Table1Query::create() 
    ->useTable2Query(null, Criteria::LEFT_JOIN) 
    ->useTable3Query(null, Criteria::LEFT_JOIN) 
    ->endUse() 
    ->endUse() 
    ->find(); 
+0

是的,試了一下。生成不同的sql查詢。我只是從推動閱讀,這是不可能的。唯一的方法是自定義SQL。 – uji