将多个MySQL查询连接在一起

将多个MySQL查询连接在一起,mysql,sql,sql-server,Mysql,Sql,Sql Server,我刚开始学习MySQL,当遇到问题时,我从这个网站学到了很多东西,但我遇到了这个问题。我想为我的3家商店中的所有借记卡付款创建一个日志,按日期分组,每个商店有一列,然后在末尾有一个总计列。根据我在这里找到的信息,我可以单独创建查询,但不知道如何将它们组合成一个输出 查询以查找所有门店的合计: 查询以查找门店1的总数: 只需使用条件聚合: SELECT DATE(s.sale_time) AS Date, SUM(p.payment_amount) AS Total, SUM(CAS

我刚开始学习MySQL,当遇到问题时,我从这个网站学到了很多东西,但我遇到了这个问题。我想为我的3家商店中的所有借记卡付款创建一个日志,按日期分组,每个商店有一列,然后在末尾有一个总计列。根据我在这里找到的信息,我可以单独创建查询,但不知道如何将它们组合成一个输出

查询以查找所有门店的合计: 查询以查找门店1的总数:
只需使用条件聚合:

SELECT DATE(s.sale_time) AS Date, SUM(p.payment_amount) AS Total,
       SUM(CASE WHEN s.location_id = 1 THEN p.payment_amount ELSE 0 END) as Total_1
FROM pos_sales_payments p JOIN
     pos_sales s 
     ON p.sale_id = s.sale_id
WHERE p.payment_type = 'Debit Card' AND
      s.sale_time >= '2018-01-01' AND
      s.deleted = '0'
GROUP BY date(s.sale_time)
ORDER BY s.sale_time;

尝试查找
UNION
的用法如果没有,您的查询是否有效?问题是什么?数据是什么样的?你得到的结果是什么?太好了,非常感谢。我被难住了一秒钟,直到我意识到你一定是在第2行输入了“a”而不是“as”。你是一个传奇!
SELECT DATE(s.sale_time) AS Date, SUM(p.payment_amount) AS Total
FROM pos_sales_payments p
JOIN pos_sales s on p.sale_id = s.sale_id
WHERE p.payment_type = "Debit Card" AND s.sale_time > "2018-01-01 00:00:00" AND s.deleted = "0" AND s.location_id = "1"
GROUP BY date(s.sale_time)
ORDER BY s.sale_time
SELECT DATE(s.sale_time) AS Date, SUM(p.payment_amount) AS Total,
       SUM(CASE WHEN s.location_id = 1 THEN p.payment_amount ELSE 0 END) as Total_1
FROM pos_sales_payments p JOIN
     pos_sales s 
     ON p.sale_id = s.sale_id
WHERE p.payment_type = 'Debit Card' AND
      s.sale_time >= '2018-01-01' AND
      s.deleted = '0'
GROUP BY date(s.sale_time)
ORDER BY s.sale_time;