[英]MySQL union and sum two table
我需要一個顯示當天記錄的解決方案並顯示每列的SUM,到目前為止我有一個查詢來顯示聯合記錄,如:
SELECT
datetime,
remarks,
void,
invoice,
reload,
redeem
FROM
(
SELECT datetime, remarks, '' void, '' invoice, points_intake reload, '' redeem, 1 ord
FROM bpp_intake_logs
WHERE outlet = 'KUL' AND DATE(datetime) = '2017-06-13'
UNION ALL
SELECT datetime, remarks, void, invoice, '', points_consume, 2
FROM bpp_consume_logs
WHERE outlet = 'KUL' AND DATE(datetime) = '2017-06-13'
) q
ORDER BY datetime DESC, ord
結果表顯示如下:
datetime | remarks | void | invoice | reload | redeem |
2017-06-13 15:53:31 | Point restored - void XY203460 | | | 10 | |
2017-06-13 15:37:27 | reload / top-up credit | | | 10 | |
2017-06-13 15:35:56 | redeem from VIP card | 1 | XY203460 | | 10 |
2017-06-13 15:16:03 | redeem from VIP card | | XY203456 | | 5 |
現在,我想添加一個單元格來對每個reload
進行求和並在其所屬列的底部進行redeem
,例如:
datetime | remarks | void | invoice | reload | redeem |
2017-06-13 15:53:31 | Point restored - void XY203460 | | | 10 | |
2017-06-13 15:37:27 | reload / top-up credit | | | 10 | |
2017-06-13 15:35:56 | redeem from VIP card | 1 | XY203460 | | 10 |
2017-06-13 15:16:03 | redeem from VIP card | | XY203456 | | 5 |
| 20 | 15 |
如圖所示,SUM 20和15分配在底部單元格中。
這有可能以這種方式獲得結果嗎?
也許這就是你要找的????
SELECT
datetime,
remarks,
void,
invoice,
SUM(reload),
SUM(redeem)
FROM
(
SELECT datetime, remarks, '' void, '' invoice, points_intake reload, '' redeem, 1 ord
FROM bpp_intake_logs
WHERE outlet = 'KUL' AND DATE(datetime) = '2017-06-13'
UNION ALL
SELECT datetime, remarks, void, invoice, '', points_consume, 2
FROM bpp_consume_logs
WHERE outlet = 'KUL' AND DATE(datetime) = '2017-06-13'
) q
GROUP BY datetime desc, remarks asc, void asc, invoice asc with rollup
ORDER BY datetime DESC, ord
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.