我有三张table
Projects Persons PeopleInProjects
- Id - Id - Id
- Name - Name - PersonId
- Role - ProjectId
如果persons角色为“admin”,我将如何选择与该项目相关联的所有项目名称和人员?
peopleinprojects只是一个多对多关系表,其中包含与项目相关联的所有人员的id。项目可以有很多人,也可以没有人与之关联。
我需要选择所有项目只有一次,我需要选择的项目,即使他们没有一个角色'管理员'与他们相关的人。
Select pr.Name, p.Name
from Projects as pr
join PeopleInProjects as pp on pr.Id = pp.ProjectId
join Persons as p on pp.PersonId = p.Id
Where p.Role = 'admin'
仅选择与管理员关联的项目,而不是所有项目
1条答案
按热度按时间laximzn51#
如果您希望所有的项目以及任何可能被分配的管理员,请使用
left join
: