我在SQL Server DB中有两个表。我在我的c#页面上有一个dropdownmenu,工作人员应该可以选择相关的计划,它应该显示所有没有当前计划设置的用户
表1包含所有用户
表2仅包含有计划的人员。它们在表2中也可以有1-10个不同的plan_id。
我需要一个SQL连接,它返回所有完全没有计划的人或计划ID与从下拉列表中选择的人不匹配
E.G用户可以在表2中存在3个条目,其中包含plan_id的2,3和4。
E.G如果用户从下拉列表中选择计划7,则用户将出现在列表中,因为他们当前没有与所选ID匹配的计划。
表2计划还有一个expiry_date和“active”字段。
如果失效日期是过去的或活动的是“0”
,该计划也应无效答案 0 :(得分:1)
在Query中写一个 not ,表2中的用户不具有该计划ID。
假设 表1 - >用户名,用户名 表_2 - > UserId,PlanId
SELECT UserId, Username FROM Table_1
WHERE UserId NOT IN ( SELECT UserId FROM Table_2 WHERE PlanId = 1 )
此查询将返回未与计划1链接的所有用户。