C# 嵌套且复杂的select语句

C# 嵌套且复杂的select语句,c#,database,select,sql,C#,Database,Select,Sql,我想在这里做的很简单…显示一个ivestigators ID和他对应的名字。。。 通过基于用户类型进行选择,可以从users表轻松完成此操作。 然而,我只想选择一些类型的调查人员。这里的类比是,调查人员被分配到一个展览,以便他们进行调查。最多只能为3个病例指派一名调查员。现在在分配调查员的过程中,我想写一个select语句,只检索分配给少于或等于2个案例的调查员ID。我已经包括了展示和用户表,该表显示了下面的示例数据。 现在我有一个想法,我必须首先从用户列表中根据他们的ID挑选出所有的调查人员

我想在这里做的很简单…显示一个ivestigators ID和他对应的名字。。。 通过基于用户类型进行选择,可以从users表轻松完成此操作。 然而,我只想选择一些类型的调查人员。这里的类比是,调查人员被分配到一个展览,以便他们进行调查。最多只能为3个病例指派一名调查员。现在在分配调查员的过程中,我想写一个select语句,只检索分配给少于或等于2个案例的调查员ID。我已经包括了展示和用户表,该表显示了下面的示例数据。

现在我有一个想法,我必须首先从用户列表中根据他们的ID挑选出所有的调查人员,然后通过删除分配给3个案例的调查人员,只留下那些有两个案例的调查人员,在展示表中对他们进行筛选。然后,我使用这个ID来选择调查者的名字

最大的问题是我该如何写声明

SELECT InvestigatorID From Cases GROUP BY (InvestigatorId) HAVING COUNT(INvestigatorId) < 3

这就是您要找的吗?

为什么要用C标记这个?您是在搜索SQL语句来执行此操作,还是在搜索C中的某个语句,例如LINQ语句?我在这里很难看到外键关系,是OfficeId还是InvestorId将连接回users表?InvestorId是唯一与底部表中的条目相匹配的。IO123.@Simon,你说得对,我错过了那个。因为他从来没有提到过“警官”这个词,所以很有可能得出这样的结论:这就是他们之间的关系。Chris的回答应该很好。太好了……如果我的问题不明确,我很抱歉Steve……对AdamRalph来说,我在C应用程序中使用了这个语句,这就是为什么我也标记了C,对Simon来说……谢谢你的澄清……还有Chris……谢谢你的回答……我还没有尝试过,但我可以看到它做得很好。。。