/*
现在想取这样的集合,当T1中的dh字段值和T2中的字段值相等 AND T1中的dm字段值和T2中的dm字段值同时相等时,显示T1.totalmoney-T2.money
*/如果不相等的话显示什么呢?  要显示表1中的所有记录?

解决方案 »

  1.   

    select T1.TOTALMONEY-T2.MONEY from T1,T2 where T1.DH=T2.FQDH AND T1.DM=T2.DM
      union
    select T1.TOTALMONEY from T1 where (dh,dm) not in (select fqdh,dm from T2);
      

  2.   

    select a.totalmoney-nvl(b.money,0) from t1 a,t2 b where a.dh=b.fqdh(+) and a.dm=b.dm(+)
      

  3.   

    select a.totalmoney-b.money from t1 a,t2 b where a.dh=nvl(b.fqdh,0) and a.dm=nvl(b.dm,0);
      

  4.   

    select a.totalmoney-nvl(b.money,0) from t1 a,t2 b where a.dh=b.fqdh(+) and a.dm=b.dm(+)
      

  5.   

    --CodeMagic(写错了吧) 似乎应为:
    select T1.TOTALMONEY-T2.MONEY from T1,T2 where T1.DH=T2.FQDH(+) AND T1.DM=T2.DM
    union
    select T1.TOTALMONEY-T2.MONEY from T1,T2 where T1.DH=T2.FQDH AND T1.DM=T2.DM(+)
      

  6.   

    有了这样的条件T1.DH=T2.FQDH AND T1.DM=T2.DM
    这么可能查询出有"也有可能T1表的dh,dm值在T2中找不到"这种情况呢