2017-03-07 5 views
0

私はard.terms_amountの結果を追加し、それを "Open AR"計算から差し引いています。したがって、この場合には、それはあなたが何をしたい列「terms_amount」の合計を取り、列「オープンA /和からそれを差し引くである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」を減算するか、これらを1つの行にグループ化しようとしていますか? – Santi

答えて

0

を減算する必要がありますR 'の権利?

あなたは(私はMSSQLを使用しますが、私は最近、仕事のためのMySQLに切り替えしばらくの間、私の構文を言い訳してください)の両方を引き、2つの変数に列の合計を設定することができます。私は、構文を考える

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をしばらく使用していません。

関連する問題