【发布时间】:2019-02-24 12:37:16
【问题描述】:
我有两个我想使用的 MySQL 表,但不幸的是,这个问题超出了我的知识范围。
第一个表格显示了我的库存以及产品 ID 和数量
id PID Quantity
1 5 8
2 45 7
3 125 0
第二张表存储我为购买库存产品所做的采购订单。
id Date PO ID PID Price Purchased Quant.
1 1.1.19 PO1 5 8.00 7
2 1.1.19 PO1 45 2.15 9
3 2.1.19 PO2 5 4.45 6
因此,我想获得从最近购买日期算起的每个 PID 的平均价格。
PID Average Price
5 5.3375
45 2.15
对于PID'5',我有 8 件库存,我发现 6 件在 2.1.19 以 4.45 欧元的价格购买。因此,我需要在 1.1.19 上以 8.00 欧元的价格购买旧商品中的另外 2 件。
Average price calculation -> (6pcs * 4.45€ + 2pcs * 8.00€)/8pcs = 5.3375€
对于 PID 45,计算应该是相同的,但是我的库存完全满足第一个 PO。
有什么方法可以在 MySQL 中通过查询解决这个问题。
【问题讨论】:
-
你有哪个 MySQL 版本?
SELECT VERSION(); -
版本 5.6.38-nmm1-log
-
抱歉雷蒙德,我不明白你的意思。因此,5.3375€ 的价格应该是正确的。我只有 8 件 PID “5” 库存。上次我以 4.45 欧元的价格购买了 6 件这篇文章。所以我只剩下 2 件,无法以我最近的购买价格计算。因此,我需要找到我购买此产品的第二次最新购买,以完成剩余的两件,价格为 8.00 欧元
-
啊,我们开始了。第二张桌子不是我卖的,而是我买的。
-
对,我将购买与出售这个词联系起来,我认为我需要完全醒来并喝一些(非常)浓咖啡,然后才能在 stackoverflow 上帮助其他人,我猜……
标签: mysql