0

正如标题所暗示的那样,重写它以仅将排除作为连接的方法是什么?

select users.id from users where id not in ("select
pu.owner_id from projects p
inner join
projects_users pu on
pu.owned_project_id = p.id
where p.project_name = 'This is an example of a project'")

我认为这可能有效,但它不会从 project_users 中不存在的用户返回任何内容:

select u.id from users u
        left outer join projects_users pu on
        pu.owner_id = u.id
        inner join projects p on
        pu.owned_project_id = p.id          
        where NOT p.project_name = 'This is an example of a project'
4

1 回答 1

3
SELECT    a.id
FROM      users a
LEFT JOIN project_users b ON a.id = b.owner_id
LEFT JOIN projects c ON b.owned_project_id = c.id AND 
          c.project_name = 'This is an example of a project'
WHERE     c.id IS NULL
于 2012-07-19T10:28:47.910 回答