2011-04-21 315 views
0

我建3臺問題與SQL左連接

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

你可以replce的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) 

希望這有助於。