1. 程式人生 > >MySQL union all使用

MySQL union all使用

對兩個表不同的欄位統計,

顯示列:

時間 A表充值手續費 B表退款手續費

方法:

使用兩個select語句,然後在union all關聯;

重點:

如A表沒有退款手續費欄位,需要用0補上

B表沒有充值手續費時也要補上,不然會合併成兩列

SELECT t.MERCHANT_NO,sum(t.tfee),sum(t.rfee),t.date DATE from (
SELECT a.MERCHANT_NO, sum(a.TOPUP_FEE) tfee,0 rfee,DATE_FORMAT( a.CREATE_DATE, "%Y-%m-%d" ) date
FROM order_transfer_account a WHERE a.MERCHANT_NO ='chen001'
GROUP BY  a.MERCHANT_NO,DATE_FORMAT( a.CREATE_DATE, "%Y-%m-%d" )
UNION ALL
SELECT r.MERCHANT_NO,0 tfee, sum(r.REFUND_FEE) rfee,DATE_FORMAT( r.CREATE_DATE, "%Y-%m-%d" ) date FROM refund
r WHERE r.MERCHANT_NO ='chen001'
GROUP BY  r.MERCHANT_NO,DATE_FORMAT( r.CREATE_DATE, "%Y-%m-%d" )) t GROUP BY t.date,t.MERCHANT_NO ORDER BY t.date desc

參考:mySQL count多個表的資料例項詳解

http://www.jb51.net/article/96254.htm