여러 수준, 부모 및 차일드로 저장된 항목이있는 master
테이블이 하나 있는데 추가 데이터가 있거나 없을 수있는 두 번째 테이블이 있습니다. 내 마스터 테이블에서 두 수준을 쿼리하고 내 두 번째 테이블에 왼쪽 조인이 필요하지만 내 쿼리 내에서 순서 때문에이 작동하지 않습니다.하나의 쿼리에서 여러 테이블에 여러 개의 왼쪽 조인
SELECT something FROM master as parent, master as child
LEFT JOIN second as parentdata ON parent.secondary_id = parentdata.id
LEFT JOIN second as childdata ON child.secondary_id = childdata.id
WHERE parent.id = child.parent_id AND parent.parent_id = 'rootID'
왼쪽 조인은 from 절의 마지막 테이블에서만 작동하므로 왼쪽 조인 중 하나에서만 작동하게 할 수 있습니다. 위의 예에서 첫 번째 왼쪽 조인은 from 절의 첫 번째 테이블을 가리키고 두 번째 조인은 결코 이와 같이 작동하지 않으므로 왼쪽 조인 중 아무 것도 작동하지 않습니다.
어떻게하면됩니까? 쿼리의
혼합 "이전 스타일" "새로운 스타일"을 (좌 가입 (FROM 절에 두 개의 테이블 이름)처럼 할 수 ...ON)은 거의 눈물로 끝날 것입니다. 다시 작성하고 WHERE 절을 살펴보십시오. 실제로는 제거하지 않으려는 행을 제거 할 수 있습니다. –