Sql server 在SQL中检索不相关的记录
我在数据库中有两个表 1-文件表: 字段:Sql server 在SQL中检索不相关的记录,sql-server,database,Sql Server,Database,我在数据库中有两个表 1-文件表: 字段: 文件标识 文件名 2-用户表: 用户ID 用户名 现在我有了第三个表,它是“分配的文件”,它记录了分配给哪些用户的文件 字段: 文件标识 用户ID 日期 我想检索所有不相关的记录,即检索未分配给特定文件的所有用户 这是我对相关记录的查询 从用户i中选择* 加入请求的文件管理器 在i.UserID=r.UserID上 其中r.File_ID=1175 现在我想检索所有未分配到该文件的用户 问题:一个文件可以分配给多个用户。 我尝试了以下查询,
- 文件标识
- 文件名
- 用户ID
- 用户名
- 文件标识
- 用户ID
- 日期
其中r.File_ID!=1175或r.File_ID为空如果我理解正确,您可以在子查询中使用
NOT IN
:
SELECT *
FROM User i
WHERE i.UserID NOT IN (SELECT UserID
FROM FileAssigned
WHERE File_ID = 1175)
如果我理解正确,您可以在子查询中使用
NOT IN
:
SELECT *
FROM User i
WHERE i.UserID NOT IN (SELECT UserID
FROM FileAssigned
WHERE File_ID = 1175)