假如有A表:Money(币种),Bal(余额)。B表:Money(币种),AMT(金额)。
现在是 A,B表没有主次之分,A,B币种相同的关联一起。但是如果一种币种,A有B没有 或者 A没有B有 ,那么 也显示出来,没有的是显示为0。怎么把A没有或者B没有的也显示出来呢?全外连接别用,把A,B的币种UNION 后 外连接别用。因为我现实的例子比这复杂,还有没哟其他的办法呢???

解决方案 »

  1.   


    SELECT Money,sum(Bal) Bal,sum(AMT) AMT 
    FROM 
    (
    SELECT Money,Bal,AMT =0 FROM A 
    UNION ALL
    SELECT Money,0,AMT FROM B
    ) A GROUP BY Money
      

  2.   

    全外连接别用,把A,B的币种UNION 后 外连接别用。因为我现实的例子比这复杂,还有没哟其他的办法呢???
    仅从描述上的需求看,没有别的好办法。或许这不是你的原始需求。
      

  3.   

     select  NVL(A.MONEY,0),NVL(B.MONEY,0)from A,B WHERE A.MONEY(+)=B.MONEY(+)