select row_.*, rownum rownum_
from (select partyId,
partyName,
partyCode,
sum(orderNum) as orderNum,
sum(orderAmount) as orderAmount
from (select pp.id as partyId,
pp.name as partyName,
pp.code as partyCode,
count(tso.id) as orderNum,
"SUM"(case
when tsoh.order_type = 10 then
(TSO.UNIT_PRICE * TSO.FINAL_QUANTITY -
(tso.FINAL_QUANTITY / tso.ORDERING_QUANTITY) *
(TSO.COUPON + TSO.DISCOUNT_FEE))
ELSE
(-TSO.unit_price * tso.FINAL_QUANTITY +
(tso.FINAL_QUANTITY / tso.ORDERING_QUANTITY) *
(TSO.COUPON + TSO.DISCOUNT_FEE))
end) as orderAmount
from TRA_SALES_ORDER tso
INNER JOIN GOO_GOODS G
ON G.ID = tso.GOODS_ID
INNER JOIN TRA_SALES_ORDER_HEADER tsoh
on TSOH.id = TSO.ORDER_HEADER_ID
left join par_party pp
on pp.id = tsoh.buyer_id
INNER JOIN WH_WARE_HOUSE wwh
ON wwh.id = tsoh.warehouse_id
WHERE tso.ORDER_STATUS > 300
and tso.ORDER_STATUS < 305
and tso.final_quantity > 0
and TSOH.Warehouse_Id in
(select cd.domain_id
from com_domain cd
where cd.source_id = 1608171622470497
and cd.source_type = 'department'
and cd.domain_type = 'warehouse')
and G.brand_id in
(select cd.domain_id
from com_domain cd
where cd.source_id = 1608171622470497
and cd.source_type = 'department'
and cd.domain_type = 'brand')
and G.product_id in
(select cd.domain_id
from com_domain cd
where cd.source_id = 1608171622470497
and cd.source_type = 'department'
and cd.domain_type = 'product')
and pp.party_type = 40
and wwh.id = 1403072229050000
and tso.BRANCH_COMPANY_ID = 2
AND tso.HAS_INVOICE = 0
group by pp.id, pp.name, pp.code
UNION ALL
select pp.id as partyId,
pp.name as partyName,
pp.code as partyCode,
count(tso.id) as orderNum,
"SUM"(case
when tsoh.order_type = 10 then
(TSO.UNIT_PRICE * TSO.FINAL_QUANTITY -
(tso.FINAL_QUANTITY / tso.ORDERING_QUANTITY) *
(TSO.COUPON + TSO.DISCOUNT_FEE))
ELSE
(-TSO.unit_price * tso.FINAL_QUANTITY +
(tso.FINAL_QUANTITY / tso.ORDERING_QUANTITY) *
(TSO.COUPON + TSO.DISCOUNT_FEE))
end) as orderAmount
from TRA_SALES_ORDER_OFFLINE tso
INNER JOIN GOO_GOODS G
ON G.ID = tso.GOODS_ID
INNER JOIN TRA_SALES_ORDER_HEADER tsoh
on TSOH.id = TSO.ORDER_HEADER_ID
left join par_party pp
on pp.id = tsoh.buyer_id
INNER JOIN WH_WARE_HOUSE wwh
ON wwh.id = tsoh.warehouse_id
WHERE tso.ORDER_STATUS > 300
and tso.ORDER_STATUS < 305
and tso.final_quantity > 0
and TSOH.Warehouse_Id in
(select cd.domain_id
from com_domain cd
where cd.source_id = 1608171622470497
and cd.source_type = 'department'
and cd.domain_type = 'warehouse')
and G.brand_id in
(select cd.domain_id
from com_domain cd
where cd.source_id = 1608171622470497
and cd.source_type = 'department'
and cd.domain_type = 'brand')
and G.product_id in
(select cd.domain_id
from com_domain cd
where cd.source_id = 1608171622470497
and cd.source_type = 'department'
and cd.domain_type = 'product')
and pp.party_type = 40
and wwh.id = 1403072229050000
and tso.BRANCH_COMPANY_ID = 2
AND tso.HAS_INVOICE = 0
group by pp.id, pp.name, pp.code) tso
group by partyId, partyName, partyCode
order by orderAmount ASC) row_
where rownum <= 45;
--1608171622470497(Long), 1608171622470497(Long), 1608171622470497(Long), 40(Integer), 1511161907500008(Long), 2(Long), false(Boolean), 1608171622470497(Long), 1608171622470497(Long), 1608171622470497(Long), 40(Integer), 1511161907500008(Long), 2(Long), false(Boolean)