SQL Join无法获取任何现有内容

本文关键字:任何现 获取 Join SQL | 更新日期: 2023-09-27 18:24:52

我在SQL Server数据库中有两个表。我在我的c#页面上有一个下拉菜单,工作人员应该可以在其中选择相关的计划,它应该显示所有没有当前计划设置的用户

表1包含所有用户

表2只包含有计划的人员。它们在表2中也可以具有1-10的不同plan_id。

我需要一个SQL联接,它返回所有根本没有计划或计划id与从下拉列表中选择的不匹配的人

E.G用户可以存在于具有3个条目的表2上,该条目具有plan_id的2、3和4。

E.G如果用户从下拉列表中选择计划7,则该用户将出现在列表中,因为他们当前没有与所选id匹配的计划。

表2计划还有一个expiry_date和"活动"字段。

如果过期日期在过去或活动日期为"0"

SQL Join无法获取任何现有内容

,则该计划也应无效

在Query中写一个not,其中表2中不存在具有该计划id的用户。

假设表_1->Userid,用户名表2->UserId,PlanId

SELECT UserId, Username FROM Table_1 
WHERE UserId NOT IN ( SELECT UserId FROM Table_2 WHERE PlanId = 1 ) 

此查询将返回所有未与计划1链接的用户。