我有以下实体
Department
有很多Users
,用户有很多Records
。
现在我希望用户可以看到相同department
的所有记录。
我很困惑我是否需要在Department
和Records
之间建立关系,或者可以通过用户遍历
答案 0 :(得分:1)
您可以使用子查询:
SELECT * FROM Records WHERE user_id IN (SELECT User.id FROM User WHERE department_id = 123)
答案 1 :(得分: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
答案 2 :(得分:0)
您只需要从department
到users
的1-n关系以及从users
到records
的1-n关系。然后通过查找该记录所分配给哪个部门来了解记录所属的部门。
答案 3 :(得分:0)
如果用户有id_department
且记录有id_user
,那么您可以获取与某个部门相关的所有记录。
答案 4 :(得分: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;
截屏: