2017-03-07 67 views
0

我試圖添加ard.terms_amount的結果並從我的「Open AR」計算中減去該結果。所以在這種情況下,它應該是減去0.90將結果總和添加到公式

SELECT 
customer.customer_id 
,customer.customer_name 


,cast(sum(ih.total_amount - ih.amount_paid) as decimal (10,2)) as [Open A/R] 


,cast(dbo.p21_fn_days_sales_outstanding(customer.company_id, customer.customer_id, 90, GETDATE()) as decimal (10,2)) average_dso 
,terms.terms_desc 
,ard.terms_amount 



FROM customer 
INNER JOIN terms ON terms.terms_id = customer.terms_id 
inner join invoice_hdr ih on ih.customer_id = customer.customer_id 
inner join ar_receipts_detail ard on ard.customer_id = customer.customer_id 
WHERE customer.company_id = 'ABC' and customer.customer_id='123456' 
and ih.approved ='y' 


group by customer.customer_id,customer.customer_name,customer.company_id,terms.terms_desc,ard.terms_amount 

enter image description here

+0

您正在使用哪些DBMS? –

+0

@a_horse_with_no_name sql 2012 – eggwhites

+0

@eggwhites是否應該爲每行減去* 0.9,還是試圖將它們組合成一行? – Santi

回答

0

所以,你想要做的是把列「terms_amount」的總和,並從列「打開A /總和減去它R'對嗎?

您可以設置列兩個變量的總和,然後減去兩者(請原諒我的語法,有一陣子我用MSSQL,但最近我切換到MySQL的工作):

declare @terms_amount float; 
declare @OpenA/R float 
set @terms_amount = (select sum(terms_amount) from yourdatabase); 
set @OpenA/R = (select sum(OpenA/R) from yourdatabase); 
select @terms - @OpenA/R; 

我覺得語法是正確的,但是再一次,我還沒有使用MSSQL。