首页 > 解决方案 > SQL:选择用户ID,如果一个条目具有特定值,则排除所有用户ID

问题描述

我的数据库

你好,

看我附上的图片。我正在尝试选择所有角色 ID 不为 1 的用户 ID。所以我希望查询返回用户 ID 6、13 和 15。但是,当我对此使用查询时,它也会返回用户ID 5,因为它有 2 个条目,其中一个条目的角色 ID 为 3。由于其关联的角色 ID 为 1,是否有排除 UserID 5?

SELECT UserID
FROM UserTable (example)
WHERE RoleID <> 1

谢谢。

标签: sqlselect

解决方案


SELECT UserID
FROM UserTable (example)
WHERE UserID not in (SELECT UserID FROM UserTable (example) WHERE RoleID = 1)

首先,我们选择 RoleID = 1 的所有用户并选择他们的 userID,然后我们选择不在第一个列表中的所有用户。


推荐阅读