MySQL union all使用
阿新 • • 發佈:2018-12-29
對兩個表不同的欄位統計,
顯示列:
時間 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多個表的資料例項詳解