【发布时间】:2018-12-18 21:37:57
【问题描述】:
我目前正在 phpgrid 中设置库存系统。我有 3 张桌子 - 产品、订单、购买。我正在尝试列出产品中的所有 PartNumber 字段以及购买中每个 PartNumber 的 NumberReceived 总数以及订单中每个 PartNumber 的 NumberShipped 总数。
从那里我相信我可以使用 phpgrid 显示一个虚拟/计算列,该列将从 NumberReceived 中减去 NumberShipped 并给我每个 PartNumber 的当前库存水平。
寻找类似这样的结果:
PartNumber | Received | Shipped | (calculated) Qty On Hand
______________________________________________________________
12345 | 20 | 10 | 10
67890 | 40 | 5 | 35
我无法思考如何将所有内容连接在一起以检索我想要的数据。此 SELECT 显示一些数据,但不是每个 PartNumber 都具有正确的计算。
"SELECT
p.id,
sum(p.NumberReceived) AS 'Received',
sum(o.NumberShipped) As 'Shipped'
FROM purchases p
INNER JOIN orders o on p.id = o.ProductId
GROUP BY p.id ",
"id", "purchases");
我意识到我需要在其中包含 PartNumber 列才能列出 PartNumber 字段的所有数据。所以然后我尝试了这个 - 我想我已经接近了,但这一直给我一个错误 - PHPGRID_ERROR:无法执行查询。错误 102
"SELECT
prod.id,prod.PartNumber,
sum(pur.NumberReceived) AS 'Received',
sum(o.NumberShipped) As 'Shipped',
FROM products prod
LEFT JOIN orders o ON prod.PartNumber = o.ProductId
LEFT JOIN purchases pur ON prod.PartNumber = pur.ProductId",
"id", "products");
我希望有人能帮助我朝着正确的方向前进。谢谢你们!
【问题讨论】: