如何查找相似记录?再次发帖征集正确答案。
有两张数据表,tb1(已有数据表)和tb2(待比较数据表),欲进行信息比较,要求如下:
1)定义比较的若干属性字段 如:fld1,fld2,fld3
2)从tb2表中查询出其在tb1中近似的记录信息(只有部分属性字段匹配)。
说明:1.两表的结构完全相同,只是数据有可能不同。
2.请回答者确保你的回答是可执行的,正确的,因为该问题以前有朋友回答过,也得了分,后来发现
语法上虽然没问题,语义上也对,但真正执行时结果却是错误的。比如以下朋友:
of123(所以然) 的回答就是错误的,根本实现不了。
3.回答的SQL语句中请不要出现 IN 或者NOT IN。因为其效率太差,请给出高效率的SQL语句。
4.最好能把你的代码自己运行一下,否则可能是不对的,尤其是使用EXISTS或NOT EXISTS 加不等于符号 <>的朋友
请注意,因为我也是这样做的,但结果出乎意料。
5.完贴必高分相送。
[解决办法]
try:
update 光电子器件 a,(select distinct Part_Name,Part_Number from [D:\PtfExcelApp20100207\database\PartTableDB.mdb;pwd=123].opto) bset a.flg='绿色' where a.Part_Name=b.Part_Name and a.Part_Number=b.Part_Number
[解决办法]
Access 一定要用 JOIN
update 光电子器件 a INNER JOIN (select distinct Part_Name,Part_Number from [D:\PtfExcelApp20100207\database\PartTableDB.mdb;pwd=123].opto) b ON a.Part_Name=b.Part_Name and a.Part_Number=b.Part_Numberset a.flg='绿色'
[解决办法]
我用下面的方式语法是正确的
UPDATE 学生表 a INNER JOIN 成绩表 b ON a.学号 = b.学号 SET b.成绩 = 0WHERE (((a.姓名)="张三"));