我的桌子是:
allowed(resourceid, personid)
person(personid, email)
我想打印出一个人是否有权访问资源,比如说resourceid = 2。结果应该是:
personright(personid, email, resourceid)
如果不允许此人访问资源 2,则 resourceid 应为 null。如果允许此人访问资源 2,则 resourceid 应为 2。
所以我希望每次执行我的查询时都会打印出整个用户列表。
我有一个使用子查询的工作解决方案,但我想通过连接来做到这一点。
select person.personid, person.email, allowed.resourceid
from person
right join allowed on(person.personid = allowed.personid)
where (allowed.resourceid IS NULL OR allowed.resourceid = 2);
为什么这不起作用?