解决方案 »

  1.   


    --先把小于0的行取出来 取绝对值。 然后进行EXCEPT 进行抵销操作。 因为你这个要进行EXCEPT DISTINCT 操作。所有用了个ROW_NUMBER 进行修改了下
    select  零件号,数量 ,总数量 from 
    (select *,row_number () over(partition by  零件号,数量,总数量  order by (select 2))  as n from tablename where 数量>0)
    except
    (select   零件号,abs( 数量) as  数量,abs(总数量) as 总数量, 
    row_number() over(partition by  零件号,数量,总数量  order by (select 2) ) as n from tabelname 
    where 数量<0) as p