我的数据库中有两个表。一个叫做人,一个叫做团队。一个人可以在一个团队中。 如何查看使用LINQ或sql查找不在团队中的所有人员?
答案 0 :(得分:3)
一个人可以在一个团队中
这让我猜你在人员表中有一个可以有空值的TeamID FK字段。
如何检查所有不在团队中的人
这将为所有不在团队中的人提供帮助。
select *
from person
where TeamID is null
答案 1 :(得分:0)
你的意思是这样的吗?
select *
from person p
join team t
on p.TeamId = t.TeamId
where p.TeamId <> 3
或在linq:
from p in persons
join t in teams on p.TeamId equals t.TeamId
where t.TeamId != 3
select p
这两个查询都将返回所有不在ID 3团队中的人。
答案 2 :(得分:0)
您如何表示一个人与团队的联系。您是否亲自使用teamID字段?如果是这样,当一个人不在团队中时你会怎么做?保持无效?
select * from person where teamID is null
将其设为-1?
select * from person where teamID == -1
也许你有一个person_team交叉表(这很奇怪,因为你说一个人只能在一个团队中)。如果是的话
SELECT * FROM person LEFT OUTER JOIN person_team
ON (person.id = person_team.personID)
WHERE person_team.personID IS NULL
或者如果你还有别的东西 - 告诉我们。