早晨
我有2个表,它们之间的关系是box_id。
第一个表的结构为:
box_id | box_name | length | width | depth
---------------------------------------------
1 | box_1 | 30 | 30 | 20
它具有一个存储箱的详细信息,即。名称,宽度,长度深度等。
第二张表在该框中列出了内容清单...
id | bid | product_name | prod_length | prod_width | prod_height
-------------------------------------------------------------------
1 | 1 | phone case | 12 | 6 | 2
2 | 1 | watch | 8 | 8 | 7
3 | 1 | perfume | 16 | 10 | 14
使用SQL im来获取包装箱的详细信息,包括包装箱的(长*宽*深度/ 10),以获取包装箱的总容量,以及包装箱中产品消耗的总体积盒子。
结果
box_id | box_name | volume | volume remaining
----------------------------------------------
1 | box_1 | 1800 cm3 | xyz cm3
这是我到目前为止使用的SQL。
select box_name, width, length, depth, (width * length * depth / 10) AS totalVolume from storage...
我不确定如何获取清单详细信息,以及查看剩余或消耗的量。
致谢
答案 0 :(得分:0)
内容量将来自这样的查询:
select bid, sum(prod_lengt * prod_width * prod_height) as volume
from inventory
group by bid;
您可以使用join
来比较音量:
select b.*,
(length * width * height) as box_volume,
bi.volume as inventory_volume
from boxes b left join
(select bid, sum(prod_length * prod_width * prod_height) as volume
from inventory
group by bid
) bi
on bi.bid = b.id;
您可以减去两者或采用比率。但是不要过度解释结果。很难根据尺寸来确定一个“盒子”中可以容纳多少“库存”。数量的总和不足以回答这个问题。