mysql—在一定时间内从两个表中获取数据,其数量总和为

rqmkfv5c  于 2021-06-19  发布在  Mysql
关注(0)|答案(1)|浏览(316)

下面有两张表:
订单详细信息

OrderNumber
quantityordered
priceEach

订单

OrderNumber
orderDate

问题:orderdate如下所示: 2005-01-01. 2005-02-01. 2003-04-30.....etc . 销售总额=订购数量*价格
我必须找出2005年2月的总销售额,到目前为止我只有:

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

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

但是,如何将这2个组合成1来回答这个问题?非常感谢您在高级阶段的大力帮助!
阿列克斯克

exdqitrt

exdqitrt1#

您可以使用诸如year()和month()之类的日期函数分别从mysql日期中获取年数和月数。
只需在两个表上使用 OrderNumber .
计算销售额的sum(),其中年和月符合您的条件。
另外,在使用基于联接、子查询、派生表等方法处理多个表时,使用别名也是一个好习惯。
请尝试以下操作:

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

相关问题