检查一个表中的id是否存在于另一个表中

时间:2015-03-17 10:44:35

标签: c# winforms sql-server-ce

我有两个表活动和来源。我想检查来自Sources的IdSource,它是主键,是否在表活动的Sources列中找到。 我做了类似

的事情
private int nrSource {get;set;}
nrSource=(int)activitiesTableAdapter.ScalarQuery();
if (nrSource>0)
{
MessageBox.Show();
}

ScalarQuery方法类似于存在的活动中的select count(*)(select * from Sources where Sources.IdSource = Activities.Sources)。

我在构建转换时遇到错误:对象引用未设置为对象的实例。我做错了什么?

1 个答案:

答案 0 :(得分:0)

首先,我会将您的查询更改为以下内容:

select count (*) 
from Activities a
where exists (select * from Sources s where s.IdSource= a.Sources)

如果Activities.Sources可以为空并且是Sources.IdSource的外键,则可以使用:

select count (*) 
from Activities a
where a.Sources IS NOT NULL