这是我以前为法力藤对库存写的ASP程序,当时要求跟你一样,A表里面有的B表里不一定有,B表有的A表不一定有,要显示它们都没有的数据,显示字段你没告诉我,你小改一下吧,一个左连接,一个右部连接,然后把isnull(关键字)取出来
<%
DBConnBegin()
Function table()
Dim cmd,rs,str
cmd="select dcl.fid,wnum from (SELECT dcl.fid, dcl.num, ERP.fid, ERP.snum, ERP.fnum,(dcl.num+ERP.snum- ERP.fnum) as wnum FROM dcl INNER JOIN ERP ON dcl.fid = ERP.fid)"
set Rs=SetRs(cmd)
'dcl有erp没有
cmdl="SELECT dcl.fid, dcl.num FROM dcl LEFT JOIN ERP ON dcl.fid = ERP.fid WHERE isnull(erp.fid)"
set Rsl=SetRs(cmdl)
'erp有dcl没有
cmdr="SELECT ERP.fid, ERP.bqjc FROM dcl right JOIN ERP ON dcl.fid = ERP.fid WHERE isnull(dcl.fid)"
set Rsr=SetRs(cmdr)
set cRs=SetRs("select count(*) from (select dcl.fid,wnum from (SELECT dcl.fid, dcl.num, ERP.fid, ERP.snum, ERP.fnum,(dcl.num+ERP.snum- ERP.fnum) as wnum FROM dcl INNER JOIN ERP ON dcl.fid = ERP.fid))")
set lRs=SetRs("select count(*) from (SELECT dcl.fid, dcl.num FROM dcl LEFT JOIN ERP ON dcl.fid = ERP.fid WHERE isnull(erp.fid))")
set rRs=SetRs("select count(*) from (SELECT ERP.fid, ERP.bqjc FROM dcl right JOIN ERP ON dcl.fid = ERP.fid WHERE isnull(dcl.fid))")
str="
|
你可以在ACCESS里直接打开多个数据库,然后将符合条件的记录插入到新表即可,如:
新建一个数据库C.mdb,然后打开,执行以下语句,就可以将A数据库的表1.Id不包含在B数据库表中的所有数据创建到C数据库的myTest表。
SELECT A.* INTO myTest
FROM [; Database=C:\A.mdb].表1 AS A
WHERE A.Id NOT IN (SELECT [id] FROM [; Database=C:\B.mdb].表1)
写一段asp程序读出小库里某表里所有的东西!
do while not rs.eof
检查另外一个库里对应的表里是否有相同的数据,如果有则删除
rs.movenext
当然里面要连接两个库!也就是说要有两个conn对像!
假设就一个字段c吧
大数据库表A
小数据库表B
delete A where A.c in (select B.c from B)
以上是针对两个数据库表位于同一个数据库中的情况
如果位于两个数据库,必须建两个conn
然后用循环判断
你说的问题不清楚,大数据库和小数据库?是表里面的内容吗?还是什么呢?如果是内容用正则就可以找出来的。或是直接通过比较来筛选出来就OK啦。