2016-11-11 1 views
0

전 웹에서 답변을 찾고 있습니다. 여기있는 누군가가 이것으로 나를 도울 수 있기를 바랍니다.여러 테이블에 하나의 조인으로 참여하십시오.

propel을 사용하여 아래 쿼리를 작성하려고합니다. 가능하니?

 

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

+0

샘플 데이터에 대한 일부 샘플 데이터 및 예상 결과를 게시하십시오. 나는 SQL을 알아낼 수 있다고 확신한다. Join 키워드를 사용하여','조인 표기법을 ANSI-92 조인 표기법과 혼합해서는 안된다는 우려가 여전히 남아 있습니다. 하지만 아마도 propel은 뭔가 다른 것을합니다. – xQbert

+0

2 명이 서로 다른 결과를 산출하기 때문에 조인 표기법에 대한 귀하의 입장에 유의해야합니다. 난 실제로 하나 대신 두 개의 별도의 조인을 사용하여 시도했지만 결과는 왼쪽 이후 조인을 사용하여 서로 다릅니다. 그것은 내부 조인을 위해 작동합니다. 그러나 불행히도 그것은 내가 찾는 것이 아닙니다. 어쨌든, 답장을 보내 주셔서 감사합니다, 나는 사용자 정의 sql을 사용하기로 결정하고 propel에서 ***을 해킹하기로 결정했습니다. – uji

답변

0

시도해 보셨습니까?

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

예, 시도했습니다. 다른 SQL 쿼리를 생성합니다. 방금 propel에서 읽을 수 없다고 읽었습니다. 맞는 유일한 방법은 사용자 지정 SQL입니다. – uji

관련 문제