希望您满意。select * from (select a.item_id ,a.A_qty,b.B_qty from a left outer join b 
on a.item_id=b.item_id)
union
select * from (select b.item_id ,a.A_qty,b.B_qty from a right outer join b 
on a.item_id=b.item_id)

解决方案 »

  1.   

    謝謝,不過這段代碼在sql*plus里能執行嗎?
      

  2.   

    select nvl(a.item_id, b.item_id) item_id,
           a.a_qty,
           b.b_qty
    from                  a 
          full outer join b on
             a.item_id  = b.item_id
    /
      

  3.   

    好象是这样写的,不行的话,把加号放到item_id后面试试,记不太清了
    select a.*, b.b_qty from a, b
    where +a.item_id=+b.item_id
      

  4.   

    select item_id,sum(A_qty) A_qty,sum(B_qty) B_qty from
    (select item_id,A_qty,0 B_qty from a
    union all
    select item_id,0 A_qty,B_qty from b)
    group by item_id
      

  5.   

    select A.ITEM_ID ITEM_ID,NVL(A.A_QTY,0) A_QTY,NVL(B.B_QTY,0) B_QTY
    FROM A,B
    WHERE A.ITEM_ID=B.ITEM_ID(+)
    UNION
    SELECT B.ITEM_ID ITEM_ID ,NVL(A.A_QTY,0) A_QTY,NVL(B.B_QTY,0) B_QTY
    FROM A,B
    WHERE B.ITEM_ID=A.ITEM_ID(+)
      

  6.   

    剛剛在sqlplus測試過﹐完全符合要求的哦
      

  7.   

    select item_id ,sum(qty_b),sum(qty_b) 
    from(
      select item_id,a_qty qty_A ,0       qty_B from a
      union
      select item_id,0     qty_A ,b_qty   qty_B from b
    )
    groub by item_id