Php MYSQL-剩余数量-带序列的产品-多表
我如何制作一个mysql,它将显示所有具有不同序列号和可用数量的特定产品。 请注意,我的客户没有存储数量的表, 我们所拥有的是: 收到的\采购\订单\详细信息 收到的\转账\订单\详细信息 调拨订单详情 正式收据详情 ... 还有更多的桌子。。。 这些是我们过去知道还有多少数量的表格。 可用数量=已收货\采购\订单\明细+已收货\调拨\订单\明细-调拨\订单\明细+正式\入库\明细 我已经有一个由FuzzyTree给出的查询,但它显示了一个按产品数量分组的查询 我现在需要的是查询具有不同序列号的产品id,并显示每个可用数量 而不是 我需要 ---- 我的测试sql now问题: 我将一个派生表与union组合,并将s_product_序列分组,以便它们分开。但是我的查询显示了序列号为0的所有产品,就像他们在跟踪销售序列号为的第一个产品的第一个数据一样。只有b1序列号的第一个搅拌机销售,但另一个搅拌机应该仍然可用 注 我添加了一个union查询,因为products表没有serial\u no列…,序列表分散在不同的表上。所以我首先做的是合并表来收集完整的序列号。或者也许我走错了路 问题 我想我明白了,伙计们 而不是 如tablen ON tablen.i_p_id=tabletestn.i_p_id 它应该是指序列号 如表N.s_产品系列=表TestN.s_产品系列上的表NPhp MYSQL-剩余数量-带序列的产品-多表,php,mysql,sql,Php,Mysql,Sql,我如何制作一个mysql,它将显示所有具有不同序列号和可用数量的特定产品。 请注意,我的客户没有存储数量的表, 我们所拥有的是: 收到的\采购\订单\详细信息 收到的\转账\订单\详细信息 调拨订单详情 正式收据详情 ... 还有更多的桌子。。。 这些是我们过去知道还有多少数量的表格。 可用数量=已收货\采购\订单\明细+已收货\调拨\订单\明细-调拨\订单\明细+正式\入库\明细 我已经有一个由FuzzyTree给出的查询,但它显示了一个按产品数量分组的查询 我现在需要的是查询具有不同序列号的
现在工作正常,但基于我的sql有多长,我想知道这是否有效?这个问题似乎离题了,因为Stackoverflow不是一个代码创建社区。描述你尝试过什么以及你要去哪里wrong@DarylGill,很抱歉,我忘记粘贴我的测试sql。它也很长。请检查编辑后的帖子。那一定是某种记录,见鬼。这需要从mobilePlease中调试。请编辑问题并显示将生成指定结果的示例数据。
Product_ID Product_Name Quantity_Available
6 Apple 100
7 Blender 2
8 Toaster 3
Product_ID Product_Name Serial_No Quantity_Available
6 Apple NULL 100
7 Blender b1 0
7 Blender b2 1
7 Blender b3 1
8 Toaster t1 1
8 Toaster t2 1
8 Toaster t3 1
Product_ID Product_Name Serial_No Quantity_Available
6 Apple NULL 100
7 Blender b1 0
7 Blender b2 0
7 Blender b3 0
8 Toaster t1 0
8 Toaster t2 0
8 Toaster t3 0
SELECT
tabletest1.i_p_id,
tabletest1.s_product_serial,
(
COALESCE(tabletest1.Product_Total,0) +
COALESCE(table1.Product_Total,0) +
COALESCE(table2.Product_Total,0) +
COALESCE(table3.Product_Total,0)
) AS 'Total QTY Added',
(
COALESCE(tabletest1.Product_Total,0) +
COALESCE(table4.Product_Total,0) +
COALESCE(table5.Product_Total,0) +
COALESCE(table6.Product_Total,0)
) AS 'Total QTY Released',
(
COALESCE(tabletest1.Product_Total,0) +
COALESCE(table1.Product_Total,0) +
COALESCE(table2.Product_Total,0) +
COALESCE(table3.Product_Total,0)
) -
(
COALESCE(tabletest1.Product_Total,0) +
COALESCE(table4.Product_Total,0) +
COALESCE(table5.Product_Total,0) +
COALESCE(table6.Product_Total,0)
) AS 'Current Quantity Available'
FROM
(
..union query..
)
AS tabletest1
LEFT JOIN
(
derivedtable1..
)
AS table1 ON table1.i_p_id = tabletest1.i_p_id
LEFT JOIN
(
derivedtable2..
)
AS table2 ON table2.i_p_id = tabletest1.i_p_id
LEFT JOIN
(
derivedtable3..
)
AS table3 ON table3.i_p_id = tabletest1.i_p_id
LEFT JOIN
(
derivedtable4..
)
AS table4 ON table4.i_p_id = tabletest1.i_p_id
LEFT JOIN
(
derivedtable5..
)
AS table5 ON table5.i_p_id = tabletest1.i_p_id
LEFT JOIN
(
derivedtable6..
)
AS table6 ON table6.i_p_id = tabletest1.i_p_id
GROUP BY
i_p_id,
s_product_serial