2016-08-13 34 views
1

我有三個實體,它們之間有多對多的關係UserProjectTask。我想將三個表加入一張表collaborator,其中只包含三個表的ID。將三個表加入到連接表中

但我不明白我該如何將它們加入@JoinTable以及如何管理級聯類型。

任何幫助將不勝感激。謝謝 P.S:如果有任何其他的想法是值得歡迎的。

+0

你想加入或創建一個名爲'collaborator'表中選擇? –

+0

從你的解釋,我明白一個用戶可以有多個項目,也可以有一個項目有多個用戶。項目和任務之間相同。但是,最終,用戶通過項目與任務相關聯,不是嗎?我認爲在你的設計中有其他的中間表是缺乏的。如果你想要它純粹的維護問題,我建議你實現一個數據庫視圖,這將避免你一次又一次地寫入連接查詢。 –

+0

@ZaidMirza,'協作者'是連接表的名稱。 –

回答

3

您可以從DINAMIC臨時表

select * from (
    select user.id, Project.id, Task.id 
    inner join Project on user.join_key = Project.join_key 
    inner join Task on task.join_key = = Project.join_key 
) collaborator 
+0

對我來說很簡單,謝謝 –