select c.OrderID,cp.MemberNo,sum(isnull(cp.PaymentPrice,0)) PaymentPrice,cp.CurrencyCode,SupplierSettlement  from Client_Orders c 
left join dbo.CP_Records cp on c.OrderID=cp.OrderID  
left join Purchase_Orders p on c.OrderID=p.OrderID and p.IFAvailable=0 
where c.OrderStates='8' and SupplierSettlement=1 and (Type=2 or Type=4) 
group by c.OrderID,cp.MemberNo,cp.CurrencyCode,SupplierSettlement 
having sum(isnull(cp.PaymentPrice,0))<0 
union 
select c.OrderID,cp.MemberNo,sum(isnull(cp.PaymentPrice,0)) PaymentPrice,cp.CurrencyCode,SupplierSettlement from Client_Orders c 
left join dbo.CP_Records cp on c.OrderID=cp.OrderID 
left join dbo.Purchase_Orders p on c.OrderID=p.OrderID and p.IFAvailable=0 
where (Type=2 or Type=4) and SupplierSettlement=1 
group by c.OrderID,Reserve,ResAdditional,cp.MemberNo,cp.CurrencyCode,SupplierSettlement
having (sum(isnull(cp.PaymentPrice,0)*-1)-(Reserve+ResAdditional))>0