对两个表中的记录进行比较
比如:
有两个表t1,t2,表1含有字段a1,a2,a3,a4,表2含有字段a2,a3,a4。a2,a3,a4为同一个字段名。
对两个表进行比较,如何找出表t1比表t2多出的记录,或者少的记录,还有a2字段相同,a3,a4值不同的记录。有什么好的方法?谢谢

解决方案 »

  1.   

    表t1比表t2多出的记录:
    SELECT DISTINCT a2, a3, a4 FROM T1
    MINUS
    SELECT DISTINCT a2, a3, a4 FROM T2;表t1比表t2少的记录:
    SELECT DISTINCT a2, a3, a4 FROM T2
    MINUS
    SELECT DISTINCT a2, a3, a4 FROM T1;a2字段相同,a3,a4值不同的记录
    SELECT T1.a2, t1.a3, t1.a4, t2.a3, t2.a4
    FROM T1, T2
    WHERE T1.a2 = T2.a2
    AND (T1.a3 <> T2.a3 OR T1.a4 <> T2.a4)是LZ想要的吗?
      

  2.   


    多出的记录和少的记录 ,可以用左,右连接,条件是三个字段值相等
    a2相同,a3,a4不同 ,就更简单了吧你是要找更好的实现方法呢?