我程序里面有一个datatable是从外部的webserivce取过来的,
根据不同的条件可以取得几十条或者几千条数据(最多大概是6000行)
Datatable apiTable= WebServer.GetTable(condition)
我现在需要对比sql server数据库中 OddInfo 表是否存在记录,
这两个数据表可以通过字段 odd_no 和 odd_date 来作为标记,其他field就不相同了。
请问有什么方法能搜索出 in apiTable but not in OddInfo ?
存在于apiTable但不在OddInfo里面。
我现在的做法是:
foreach(var row in apiTable){
select * from OddInfo where odd_no=row.odd_no and odd_date=row.odd_date
如果存在则remove
}
这样写就太慢了。
可以使用SQL语句来查询出不在OddInfo中的记录。您可以使用 LEFT JOIN 语法,并且使用 IS NULL 判断,以此来找到不存在于OddInfo中的数据。
SELECT apiTable.*
FROM apiTable
LEFT JOIN OddInfo
ON apiTable.odd_no = OddInfo.odd_no AND apiTable.odd_date = OddInfo.odd_date
WHERE OddInfo.odd_no IS NULL
这个查询语句将会返回 apiTable 中不存在于 OddInfo 表的所有记录。