0

我在 ms 访问中有两个表。Col1, Col2, Col3基本上我想一次性获取所有不匹配的记录

换句话说inverse,以下查询的结果

SELECT * FROM Tab1 INNER JOIN Tab2
ON T1Col1 = T2Col1
AND T1Col2 = T2Col2
AND T1Col3 = T2Col3

选项卡1

T1Col1  T1Col2  T1Col3

jkl     nnn     qoq  
efg     aaa     wow  
efg     xxx     yoy
abc     iii     ror  
abc     fff     uou
abc     rrr     rr3  
gdg     ppp     123  
abc     www     234 
jkl     qqq     336  
jkl     nnn     utu  

选项卡2

T2Col1  T2Col2  T2Col3

jkl     nnn     qoq
efg     aaa     wow
efg     xxx     yoy
abc     fff     uou
abc     iii     ror1 
abc     rrr     kok  
abc     ww1     234  
gdg     ppp     789  
jkl     nnn     utu  
jks     qqq     336  

输出

T1Col1  T1Col2  T1Col3   T2Col1  T2Col2  T2Col3

abc     iii     ror   abc    iii      ror1
abc     rrr     rr3   abc    rrr      kok
gdg     ppp     123   gdg    ppp      789
abc     www     234   abc    ww1      234
jkl     nnn     utu   jks    nnn      utu

这可能吗

谢谢

4

1 回答 1

0

从结果中我假设您希望在这三列中只有一个不匹配时返回该行?

SELECT * 
FROM Tab1 
INNER JOIN Tab2 ON 
(T1Col1 = T2Col1 AND T1Col2 = T2Col2 AND T1Col3 <> T2Col3)
or (T1Col1 = T2Col1 AND T1Col2 <> T2Col2 AND T1Col3 = T2Col3)
or (T1Col1 <> T2Col1 AND T1Col2 = T2Col2 AND T1Col3 = T2Col3)
于 2013-06-26T02:51:49.073 回答