2014-03-04 38 views
1

我有以下實體我應該如何映射許多用戶和部門

Department有許多Users和用戶有很多Records之間的關係。

現在我希望用戶可以看到相同的所有記錄department

我很困惑做我需要做DepartmentRecords或者它可以通過用戶

+0

你的目標是什麼?問題是什麼? 「現在所有用戶都可以看到同一部門的所有記錄」,所以你想要這樣或什麼? – Hardy

+0

你應該提到你想要的東西,我不明白.. – jmail

+0

@Hardy我想這可能更容易查詢在同一部門的記錄,如果我有這種關係 – user3147180

回答

1

JOINS是有效的,然後子查詢。

這是你可以嘗試使用INNER JOIN

SELECT * FROM records AS r 
INNER JOIN 
users AS u ON (r.user_id = u.user_id) 
WHERE u.department_id = 1 
0

你只需要從departmentusers 1-n的關係,從users到1-N關係進行遍歷關係船records。然後,通過查找該記錄分配到的用戶屬於哪個部門,您就可以知道記錄屬於哪個部門。

0

如果用戶有id_department並且記錄有id_user那麼您可以獲取與某個部門相關的所有記錄。

1

您可以使用子查詢:

SELECT * FROM Records WHERE user_id IN (SELECT User.id FROM User WHERE department_id = 123) 
0

示例代碼:

SELECT a.batsman_id,a.matchs,a.hundreds,b.country_type, c.player_name 
FROM batsman a INNER JOIN countrycode b ON a.country_code=b.country_code 
     INNER JOIN players c ON a.player_id=c.player_id 
     ORDER BY a.batsman_id; 

屏幕截圖:

countrycode

players

batsman

output

相關問題