2010-12-16 23 views
0

我需要其中id = 2加入5個表,以獲取所有努力爲目標,其中id = 2

表返回一個目標所做的所有註釋:

goals.id = objectives.goal_id 
objectives.id = steps.objective_id 
steps.id = transactions.step_id 
comments.id = transactions.comment_id 

交易表跟蹤評論涉及的所有步驟。

每個評論可以與多個步驟相關,因此一個表(事務 - 我知道,這個表上的錯誤命名約定)跟蹤每個步驟和評論。

所以交易表設置這樣的:

transactions.step_id | transactions.comment_id 

因此,用戶想查看相關的目標,其中id = 2個

我從來沒有做過任何超過2表中的所有評論,所以任何幫助表示讚賞。

+0

「交易」讓我微笑。在我的第一個項目中,我認爲「訂單」是一個很好的表名。你和我之間至少還有一些好的表名。 – kevpie 2010-12-16 16:17:31

回答

2
select c.* 
from goal g 
inner join objectives o on g.id = o.goal_id 
inner join steps s on o.id = s.objective_id 
inner join transaction t on s.id = t.step_id 
inner join comments c on t.comment_id = c.id 
where g.id = 2 
0

這就是我在寫:)

一兩件事,如果關係是沒有強制性也許需要使用左連接在某些情況下

+0

+1,只是幫助得到一些點,所以你可以開始評論。 :-) – kevpie 2010-12-16 16:19:29

相關問題