日期:2014-05-18  浏览次数:20421 次

访问不同数据库中的表,取得两个表中数据处的差集
两个表在不同的数据库中,表A在sql server2000中,表B在informix中,现需要查找表B中除去表A中的数据,即B与A的差集
表结构
A
id,a1,a2,a3
1,a,b,c

B
id,b1,b2,b3
1,a,b,c
2,d,e,f

A.id=B.id

按以上查询出的结果应为 
id=2
结果绑定到dataset中即可,请各位大侠不吝赐教!!!


------解决方案--------------------
informix没搞过,如果是两个sqlserver2000那就是
use 数据库A
select * from 数据库B.dbo.B b where not exists(select 1 from A where a1=b.b1 and a2=b.b2 and a3=b.b3)
------解决方案--------------------
没用过informix
------解决方案--------------------
先把informix数据导入到sqlserver数据库里,然后再查询两表的数据差异。
用exists或not exists比较,


------解决方案--------------------
不导入就写程序来判断。
------解决方案--------------------
把informix中的数据导入SQL SERVER,执行以下SQL求差
SQL code
SELECT * FROM B
EXCEPT
SELECT * FROM A