我需要计算订单中所有项目的总金额,我使用了STRING_AGG()但输出将金额划分为多行。
这是 SELECT 语句:
SELECT b.order_id as 'Order Id',
string_agg(e.testname,CHAR(13)) as 'Test',
string_agg(d.PRICE,CHAR(13)) as 'Price',
string_agg(d.test_vat,CHAR(13)) as '15% Vat',
sum(convert(float,d.TOTAL_AMOUNT)) as 'Total'
FROM patients a , lab_orders b ,customers c , order_details d , labtests e
where a.patient_no = b.patient_no
and b.custid = c.custid
and b.order_id = d.order_id
and d.testid = e.testid
and b.ORDER_ID=2000000272
group by b.order_id , d.TOTAL_AMOUNT
Run Code Online (Sandbox Code Playgroud)
输出 :
Order Id Test Price 15% Vat Total
2000000272 (TSH) Free T3 (FT3) Free T4 (FT4) 90 90 …Run Code Online (Sandbox Code Playgroud)