2011-04-21 5 views
0

가입 왼쪽 3 표문제는 내가 구축

tb1 for book 
tb2 for sub subject 
tb3 for main subject 

내가 책 사이에 가입하게하려면 1 개 하위 주제 및 각 하위 주제 1 개 주제 을 가지고있는 각 책 => 서브 대상 => 주제

내가 책 및 하위 주제 사이의 조인을 만들하지만

select book.id, book.titl, subsubject.title, mainsubject.title 
from book 
left join subsubject on book.id = subsubject.book_id 

내가 주제를 추가하려면이 문을 완료 할 주요 주제와 하위 주제 사이에 만들어 질수

답변

1

와우, 나는 당신은 뭔가 싶어 ... 이해 생각 :

SELECT book.id, book.titl, subsubject.title, mainsubject.title FROM book,subsubject,mainsubject WHERE book.id = subsubject.book_id AND subsubject.book_id=mainsubject.book_id

당신은 WHERE로 교체 하십시오 수를; 또한

LEFT JOIN subsubject on book.id = subsubject.book_id LEFT JOIN mainsubject on book.id = mainsubject.book_id

, 당신은 book.title 의미합니까?

(내 SQL 완벽하지 않을 수 있지만, 일한다)

0

는 시도이 :

select book.id, book.titl, subsubject.title, mainsubject.title 
from book 
left join subsubject on book.id = subsubject.book_id 
left join mainsubject on subsubject.book_id=mainsubject.book_id 
0

트릭은 당신이 서브과 책 사이의 이상 주 사이에 다른 조인 조건이 필요하다고 아마 서브 : 각 책은 하나 개의 주제를 가지고해야하는 경우 왼쪽 (= 외부)에 가입이 필요한 이유

select * 
from book join sub on book.id = sub.book_id 
    join main on sub.sub_id = main.sub_id 

는 잘 모르겠어요 각 주제는 필요 메인.

0

시도 :이 도움이

select b.id, b.title, s.title, m.title 
from book b 
left join subsubject s 
    on s.id = b.ss_id 
left join mainsubject m 
    on m.id = b.m_id 
where b.id = (id of book you'd like) 

희망.