MYSQL在一个表中分组,并与另一个表中的数字相乘
我有两个表格如下: 货物在:MYSQL在一个表中分组,并与另一个表中的数字相乘,mysql,Mysql,我有两个表格如下: 货物在: in_id|pid|in_num|in_date 1 1001 10 2020-06-28 2 1002 20 2020-06-28 3 1001 20 2020-05-25 ...... 股票: stock_id|pid|num|price 1 1001 10 5 2 1002 15 6 3 1003 20 7 ... “货物”表存储所有货物入库的记录,该表中
in_id|pid|in_num|in_date
1 1001 10 2020-06-28
2 1002 20 2020-06-28
3 1001 20 2020-05-25
......
股票:
stock_id|pid|num|price
1 1001 10 5
2 1002 15 6
3 1003 20 7
...
“货物”表存储所有货物入库的记录,该表中的pid与表“库存”中的pid相同,表“库存”是产品参考代码。在“货物”表中,每个产品都有多条记录。
“库存”表存储我们持有的所有SKU、当前库存水平以及产品成本。
我想做的是:
肯很难确定你想要什么,但听起来像这样:
select
pid,
year(in_date) as year,
month(in_date) as month,
sum(goods_in.in_num * stock.price)
from goods_in
join stock using (pid)
group by pid, year, month
要导出到html或excel,最好单独问一个问题。给定示例数据,您希望得到什么样的输出?你没有说你想要什么字段,或者你所说的TotalThank@ysth是什么意思,我已经编辑了更新,希望能让它更清楚。那么每个pid、月份以及该pid/月份的所有价格*的总和?让你展示你想要的东西比猜测到目前为止你尝试了什么SQL语句要容易得多,而结果又不是你想要的呢?@kmoser我试过按pid选择pid,SUM(stock.price*num)作为分组中商品的总计,显然这句话中的“num”不正确。谢谢你的及时回复。这几乎是我想要的,只是价格不在表中。我还需要按年份分组,这样我们就不会得到不同年份的同一个月。数据导出很好,我可以处理。是的,价格不在货物中;这就是为什么它需要加入股票市场。我的“月”包括年。但是我会把它更新得更清楚谢谢你@ysth,我会让它运行一下,让你知道它是如何运行的。根据你的解决方案来解决它,谢谢you@ysth@戈迪纳尔如果对你有效,你能投票支持我的答案吗?