SELECT T4.Mxpfid_a Mxpfid ;
FROM T1;
JOIN ;
(SELECT T3.Mxpfid_a,T3.Partsno_a,T3.partsqua_a, COUNT(T3.Mxpfid_a+T3.Partsno_a+STR(T3.partsqua_a)) Duplicated;
FROM;
(SELECT * FROM T2 JOIN T2 T2_a;
ON T2.mxpfid=t2_a.mxpfid AND T2.partsno=T2_a.partsno AND T2.partsqua=T2_a.partsqua) T3;
GROUP BY T3.Mxpfid_a,T3.Partsno_a,T3.partsqua_a HAVING Duplicated>=4) T4;
ON T1.F=T4.partsno_a AND T1.G=T4.partsqua_a
这句在VFP9.0中测试通过。思路是:最内层的(SELECT *)和第二层的(SELECT T3.)利用自联接和COUNT()聚集函数先找出三个字段完全相同的且联接后大于等于4条记录的(也就是三个字段完全相同的原始记录至少有2条以上)。这么做的目的是为了题目中“并且下表中的Mxpfid字段要相同的记录”这个要求。最外层的语句(SELECT T4.)把基准表和经过筛选的数据表进行联接,得出最后结果。不知道楼主是不是要这样的效果。
图片附件: 游客没有浏览图片的权限,请
登录 或
注册
图片附件: 游客没有浏览图片的权限,请
登录 或
注册