小弟尝试一个小的程序,处理的业务是物流,要求是若干个存货的地点的商品都能被统计、查询得到,我现在所想的是为每个存货地点设计一个商品数量表格,但这样的话若是要统计总量就得"查询表1"+"查询表2"+"查询表3"....,总觉得这样设计是不正解的。然后我又想到可不可以只设立一个商品数量表格,然后对每商品每存货地点建立一条记录,这样的话统计就方便了,只是当存货地点多和商品多的时候,这个表格的记录就会很大,因为它的记录数是 (商品数*存货地点数)
调试欢乐多
(1)商品:标识,商品名称(,其它与商相关的列)
(2)仓库:标识,仓库名称(,其它与仓库相关的列)
(3)数量:商品.标识,仓库.标识,数量 (注:在这个表中把商品.标识+仓库.标识作为主键,这样可以保证某种商品在某仓库中只能有一条记录,不会保证出现多条记录,引起混乱)相关的查询如下:
(1)查询所有仓库所有商品的数量
SELECT SUM(数量) FROM 数量
(2)查询在某仓库(假设标识=IDc)中某商品(假设标识=IDs)的数量
Select SUM(数量) FROM 数量 WHERE 商品.标识=IDs AND 仓库.标识=IDc
(3)查询在某仓库(假设标识=IDc)中的所有商品
Select * FROM 数量 WHERE 仓库.标识=IDc
(4)查询在某商品(假设标识=IDs)所分布的仓库
Select * FROM 数量 WHERE 商品.标识=IDs以上有关字段的名称仅供参考,请根据实际调整。