Sql server SQL将两个联合体中的金额相加为一行

Sql server SQL将两个联合体中的金额相加为一行,sql-server,sql-server-2008,tsql,Sql Server,Sql Server 2008,Tsql,如何使用union all将两个查询的金额相加为一列一行?现在它被分解成两行,但我只希望TotalQty列上的差异在一行中 select sum(begsdquantity)as 'TotalQty', CUSIPNumber, ForeignCountry from ( select sum (abs(b.begsdquantity)) begsdquantity, B.CUSIPNumber, C.FOREIGNCOUNTRY from U

如何使用union all将两个查询的金额相加为一列一行?现在它被分解成两行,但我只希望TotalQty列上的差异在一行中

    select sum(begsdquantity)as 'TotalQty', CUSIPNumber, ForeignCountry
from 
    (
        select sum (abs(b.begsdquantity)) begsdquantity, B.CUSIPNumber, C.FOREIGNCOUNTRY 
        from USBI.vw_NameAddressBase a
        inner join USBI.vw_StockRecord b on a.FirmAccountId = b.FirmAccountId
        inner join USBI.vw_SecurityBase c on b.FirmCUSIPId = c.FirmCUSIPId
        WHERE '20160229' between a.EffectiveDate and a.ExpirationDate
        AND '20160229' between b.EffectiveDate and b.ExpirationDate
        and '20160229' between c.EffectiveDate and c.ExpirationDate
        AND c.ForeignCountry NOT IN ('US', 'VA', 'RQ', 'VQ')
        and b.CUSIPNumber = '654902204'
        and b.AcctType in ('0') 
        and b.LocMemo = 's'
        GROUP BY B.CUSIPNumber, C.ForeignCountry        

        union ALL

        select sum(-b.begsdquantity) begsdquantity, B.CUSIPNumber, C.ForeignCountry 
        from USBI.vw_NameAddressBase a
        INNER join USBI.vw_StockRecord b on a.FirmAccountId = b.FirmAccountId
        inner join USBI.vw_SecurityBase c on b.FirmCUSIPId = c.FirmCUSIPId
        where a.RestrDate in ('99999999')
        AND a.CloseRestrictInd in ('C')
        AND c.ForeignCountry NOT IN ('US', 'VA', 'RQ', 'VQ')
        and '20160229' between a.EffectiveDate and a.ExpirationDate
        and '20160229' between b.EffectiveDate and b.ExpirationDate
        and '20160229' between c.EffectiveDate and c.ExpirationDate
        and b.CUSIPNumber = '654902204'
        GROUP BY B.CUSIPNumber, C.ForeignCountry

    ) t

group by begsdquantity, CUSIPNumber, ForeignCountry

ORDER BY CUSIPNumber
我的结果:


我在一列和一行中查找TotalQty列96061的差异。这是可能的还是我做错了什么?

做最后一行

group by CUSIPNumber, ForeignCountry

i、 e通过

取出组中的begsdquantity使最后一行

group by CUSIPNumber, ForeignCountry
i、 e按取出组中的BEGSD数量