【发布时间】:2020-08-10 09:07:18
【问题描述】:
我想返回每个p 行,如果u.id 和u.first_name 没有ROLE_ADMIN,则它们具有空值。当我执行此查询时,我得到空结果。如果我使用 left join 而不是 inner 我会得到不正确的结果。如何过滤左连接,以便如果没有匹配项,我仍然会返回 p 行,其中 u.id 和 u.first_name 的值为空?
注意:我在末尾添加了p.id = 13455,仅用于测试目的。
select u.id, u.first_name, p.id
from sub p
left join oub oj on oj.id = p.sub_id
left join jhi_user u on u.oub_id= oj.id
inner join jhi_user_authority ua on ua.user_id = u.id where ua.authority_name = 'ROLE_ADMIN' and p.id = 13544;
【问题讨论】: