|
todaynew 发表于 2011-5-23 16:03 ![]()
和两个表的字段数量没什么关系,只要能构成如下情形就行:
select * from A
where exists (select * fro ...
不明白,
如下
SELECT b.*
FROM tmpXls3 AS a, Sheet1 AS b
WHERE Right("000" & a.一级编号,3)=b.一级编号 And Right("00" & a.二级编号2,2)=b.二级编号2 And IIf(Instr(a.三级编号,"(")>0,b.三级编号 Like "*"+Mid(a.三级编号,1,Instr(a.三级编号,"(")-1)+"*",Right("000" & a.三级编号,3)=b.三级编号)
UNION
SELECT tmpXls3.一级编号, tmpXls3.二级编号2
FROM tmpXls3
WHERE NOT Exists(select * from Sheet1 where Sheet1.一级编号 = Right("000" & tmpXls3.一级编号, 3) And Sheet1.二级编号2 = Right("00" & tmpXls3.二级编号2, 2) And Sheet1.三级编号 = IIf(InStr(tmpXls3.三级编号, "(") > 0, Sheet1.三级编号 Like "*" + Mid(tmpXls3.三级编号, 1, InStr(tmpXls3.三级编号, "(") - 1) + "*", Right("000" & tmpXls3.三级编号, 3)) And True);
红字部分字段数不一致能用?
|
|