Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/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_Multiplication - Fatal编程技术网

mysql:如何对乘法部分求和

mysql:如何对乘法部分求和,mysql,sum,multiplication,Mysql,Sum,Multiplication,有如下表格: 已售出商品: code | size | quantity abc123 | small | 4 abc123 | medium | 2 xyz987 | small | 3 xyz987 | medium | 1 xyz987 | large | 2 价目表: code | size | price abc123 | small | 5 abc123 | medium | 7 abc123 | large | 9 xyz987 | sma

有如下表格:

已售出商品:

code   | size   | quantity 
abc123 | small  | 4
abc123 | medium | 2  
xyz987 | small  | 3
xyz987 | medium | 1
xyz987 | large  | 2
价目表:

code   | size   | price 
abc123 | small  | 5
abc123 | medium | 7  
abc123 | large  | 9 
xyz987 | small  | 10
xyz987 | medium | 13
xyz987 | large  | 15
哪种方法是您获取数据的最佳(更快的查询)方法 结果:

code   | sold_items | cash
abc123 | 6          | 34
xyz987 | 6          | 73
这应该起作用:

 SELECT si.code, SUM(si.quantity), SUM(si.quantity * pl.price) as cash
 FROM sold_items si
 INNER JOIN price_list pl ON pl.code = si.code AND pl.size = si.size
 GROUP BY si.code
请试试这个

代码:

结果:

CODE    SUM(Q.QUANTITY)     SUM(Q.QUANTITY * P.PRICE)
abc123      6                   34
xyz987      6                   73

为什么要使用子查询<代码>按si分组。代码没有派生表就足够了。@Eric当我创建一个小提琴来显示时,你已经快多了;)@Ypercurube-你是对的,我不知道为什么我认为子查询是必要的。到目前为止给出的两个答案都有效,而且它们看起来和我非常相似。你们都给我指出了正确的方向,谢谢。只有当你们加入
prc->qty
时,左键才是必要的。如果您从
qty
表开始并连接到
prc
,则内部连接就足够了。@EricPetroleJe True,在这里,它是左连接还是内部连接没有多大区别。我接受了它,因为之前我实际上是像count一样计数(p.code);)然后我仔细检查了这个问题,意识到OP要求的是数量之和,而不是数量。。。。这时,我错误地将左连接到内部连接。+1用于向我们显示表模式、示例数据和预期结果。我已经有一段时间没有看到这样的问题了:)@bonCodigo:谢谢!:)
CODE    SUM(Q.QUANTITY)     SUM(Q.QUANTITY * P.PRICE)
abc123      6                   34
xyz987      6                   73