将两个不同表中的两列相乘并将它们组合在一起
问题描述:
我在MySQL中有两个表,这些表是销售和材料详细信息。 我想要计算我靠卖物品是 profit = (total) -(qty* landedcost)
这里所获得的利润是两个表的结构: 将两个不同表中的两列相乘并将它们组合在一起
这是查询
SELECT sale.name ,sale.total-(sale.qty * materialdetails.landingcost) AS
result
FROM sale JOIN materialdetails
on sale.id = materialdetails.id
GROUP BY sale.name,result;
结果我得到: query result
我想要类似这样的东西
name result
A4 5000
Computer 40000
Flash memory 1000
Headphone 22000
Mobile 35000
有什么想法吗?
答
你应该总结通过sale.name
结果和组而已,这样的事情:
SELECT sale.name ,sum(sale.total-(sale.qty * materialdetails.landingcost)) AS
result
FROM sale JOIN materialdetails
on sale.id = materialdetails.id
GROUP BY sale.name;
说明:如果按两个字段GROUP BY sale.name,result
你会得到一个行有所有的记录同样sale.name
和result
,所以例如
name result
Computer 10000
Computer 25000
是两个不同的线,并且它们没有被分组在一起作为一个。
非常感谢您节省了我的一天,但如果我想总结整个结果即总和,该怎么办? – SMP
@smp添加['with rollup'](https://dev.mysql.com/doc/refman/5.7/en/group-by-modifiers.html)以获得总数,同时保持细节总和。要获得总和,请使用'SELECT sum(...)FROM ...' – user2314737
谢谢我解决的问题,再次感谢您。 – SMP