在一定时间内从两个表中获取SUM量的数据

时间:2018-09-30 07:08:51

标签: mysql

我在下面有2张桌子:

订单明细

OrderNumber
quantityordered
priceEach

订单

OrderNumber
orderDate

问题: orderDate看起来像这样:2005-01-01. 2005-02-01. 2003-04-30.....etc。 总销售额=订购数量* priceEach

我必须找出2005年2月的销售总额 到目前为止,我有:

SELECT orderdate FROM orders WHERE orderdate LIKE'2005-02%';

AND

SELECT sum(quantityordered * priceEach) as Total FROM orderdetails;

但是,如何将这2合为1来回答问题? 非常感谢您在高级方面的巨大帮助!

AlexK

1 个答案:

答案 0 :(得分:1)

  • 您可以使用Year()Month()之类的日期函数分别从MySQL日期中获取年号和月号。
  • 使用OrderNumber只需在两个表上执行Inner Join
  • 根据年和月与您的条件相符的销售额计算Sum()
  • 此外,在连接,子查询,基于派生表的方法等中处理多个表时,使用Aliasing是一个好习惯。

尝试以下操作:

SELECT SUM(od.quantityordered * od.priceEach) 
FROM Orders AS o 
INNER JOIN Orderdetails AS od ON o.OrderNumber = od.OrderNumber 
WHERE YEAR(o.orderDate) = 2005 
  AND MONTH(o.orderDate) = 2