我有以下實體我應該如何映射許多用戶和部門
Department
有許多Users
和用戶有很多Records
之間的關係。
現在我希望用戶可以看到相同的所有記錄department
。
我很困惑做我需要做Department
和Records
或者它可以通過用戶
我有以下實體我應該如何映射許多用戶和部門
Department
有許多Users
和用戶有很多Records
之間的關係。
現在我希望用戶可以看到相同的所有記錄department
。
我很困惑做我需要做Department
和Records
或者它可以通過用戶
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
你只需要從department
到users
1-n的關係,從users
到1-N關係進行遍歷關係船records
。然後,通過查找該記錄分配到的用戶屬於哪個部門,您就可以知道記錄屬於哪個部門。
如果用戶有id_department
並且記錄有id_user
那麼您可以獲取與某個部門相關的所有記錄。
您可以使用子查詢:
SELECT * FROM Records WHERE user_id IN (SELECT User.id FROM User WHERE department_id = 123)
示例代碼:
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;
屏幕截圖:
你的目標是什麼?問題是什麼? 「現在所有用戶都可以看到同一部門的所有記錄」,所以你想要這樣或什麼? – Hardy
你應該提到你想要的東西,我不明白.. – jmail
@Hardy我想這可能更容易查詢在同一部門的記錄,如果我有這種關係 – user3147180