Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL并集和和二表_Mysql_Sum_Union All - Fatal编程技术网

MySQL并集和和二表

MySQL并集和和二表,mysql,sum,union-all,Mysql,Sum,Union All,我需要一个显示当天记录和显示每列总和的解决方案,到目前为止,我有一个查询来显示工会记录,如: SELECT datetime, remarks, void, invoice, reload, redeem FROM ( SELECT datetime, remarks, '' void, '' invoice, points_intake reload, '' redeem, 1 ord FROM bp

我需要一个显示当天记录和显示每列总和的解决方案,到目前为止,我有一个查询来显示工会记录,如:

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
receive
进行求和,如下所示:

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     |
如图所示,总和2015分配在底部单元格中


用这种方法可以得到结果吗?

也许这就是你想要的

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 

也许这就是你要找的

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 

您不能在一个查询中完成此操作。但您可以使用PHPY之类的编程语言计算重新加载和赎回的总价值。您不能在一个查询中完成这项工作。但您可以使用诸如PHP之类的编程语言计算重新加载和赎回的总值。有关了解汇总,请参阅:::有关了解汇总,请参阅:::