2011-04-07 5 views
1

좋아, 그래서 나는 사람들의 데이터베이스가있다. 많은 사람들이 많은 조직의 회원이 될 수 있습니다. 나는 이것들을 사람들의 테이블 인 Orgs의 테이블과 멤버십 테이블을 가지고 구현했다. 그리고 회원 모두의 조회 목록 상자 괜찮습니다.여러 테이블에서 조회

그러나 일부 사람들은 하위 조직의 구성원입니다. 그래서 하위 조직 테이블이 있습니다 (1 개의 조직에는 많은 하위 조직이 있습니다)

일부 사람들은 일부 조직의 구성원이 아니며 하위 조직의 구성원이 아닙니다. 일부 조직에는 하위 항목이 없습니다. ATM 조회를 두 가지 모두에서 조회하여이를 구현했습니다.

SELECT [하위 조직]. [조직 이름] FROM Organizations, [Sub-Organizations];

그러나이 옵션은 하위 항목의 옵션 만 제공됩니다. 내가 뭘 잘못하고 있니?

답변

1
SELECT so.[Group Name], o.[Organisation Name] 
FROM Organisations AS o 
LEFT JOIN [Sub-Organisations] AS so 
    so.[Organisation Name] = o.[Organisation Name] 
    -- Or whatever your parent child relationship identifier is 
1
Select [s].[Group Name], [o].[Organisation Name] 
FROM Orgs o 
LEFT OUTER JOIN SubOrgs s ON [s].[Organisation Name] = [o].[Organisation Name] 
LEFT OUTER JOIN Membership m 
관련 문제