如何写对比不同ACCESS数据库中的两张表的SQL句子 ( 积分: 50 )

  • 主题发起人 主题发起人 sunren
  • 开始时间 开始时间
S

sunren

Unregistered / Unconfirmed
GUEST, unregistred user!
这两张表的格式皆为
系统名称,行号,位置1,位置2,位置3,位置4,位置5,位置6

一张表表名为DLBQ,在DL.MDB里,我用一个ADOQ通过ADOconnetion连接到这个数据库
一张表表名为OLDdlbq,在E:/DLBQ/DLBQ.MDB里,
现在我想找出DLBQ表里所有跟OLDDLBQ表里面系统名称,行号相同,而位置1-6中至少一个不同的记录,要怎么写这句SQL语句
顺便问一下,大伙学SQL语言都看些什么书呢?谢谢
 
顶高,大伙帮帮啊,在这里看了好几个,改来改去,还是不行,要是只是一个数据库里面的表就好搞多了,在两个里面不大会:(
 
Adoquery2.SQL.Clear;
AdoQuery2.SQL.Add('Select a.* from dlbq a ,olddlbq b in '+quotedstr(getcurrentexepath()+'/LastPrintBq/dlbq.mdb'));
Adoquery2.SQL.Add(' where a.系统名称=b.系统名称 and a.行号=b.行号 and(');
AdoQuery2.SQL.Add(' a.位置1<>b.位置1 or a.位置2<>b.位置2 or a.位置3<>b.位置3 ');
AdoQuery2.sql.add('or a.位置4<>b.位置4 or a.位置5<>b.位置5 or a.位置<>b.位置6)');
AdoQuery2.open;
就老报microsoft Jet 数据库引擎找不到输入表或查询‘dlbq' 确定它的存在。。。的错误
而 只查询 ‘Select a.* from dlbq a’就没问题,谁知道什么原因啊
 
Select a.* from dlbq as a ,[Select * from olddlbq in '+quotedstr(getcurrentexepath()+'/LastPrintBq/dlbq.mdb')+']. as b
前面改成这样,可以了,呵呵
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部