2016-03-25 2 views
0

Как суммировать сумму из двух запросов, используя объединение всех в один столбец и одну строку? Сейчас он разбит на две строки, но я хочу, чтобы разница в столбце TotalQty находилась в одной строке.SQL Сумма сумм из двух объединений в одну строку

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 

Мои результаты:

enter image description here

Я ищу разницу колонны TotalQty из 96061 в одну колонку и одну строку. Возможно ли это или что я делаю неправильно?

ответ

3

сделать последнюю строку ...

group by CUSIPNumber, ForeignCountry 

т.е. вынуть begsdquantity в группе

+0

Это сделал трюк. Я сошел с ума. Спасибо. – BIReportGuy

Смежные вопросы