这个SQL结构怎么定? (200分)

  • 主题发起人 主题发起人 cynthia.o
  • 开始时间 开始时间
C

cynthia.o

Unregistered / Unconfirmed
GUEST, unregistred user!
有一仓库,内部货品数量每时每刻都可能变动(基本上不停),有进有出,
现在系统要求可以查任意时间的库存量(时间最小单位为天),使用SQL做后台,
结构怎么整?分不够,加!
 
这没有什么问题阿
关键的一点就是入库和出库必须有时间这个标识
简单描述一下求库存的sql:
select proid, sum(case when 入库 then number when 出库 then -number end) from 入库
where date <= date1 group by proid

如果有其他出库入库的业务发生一一表示就是了
OK?
 
我每天进进出出的单子最最少也要上百,如果这样每次查都是加加减减,我要是几年的数据
怎么办,我也是按初始时的库存,再进行几年来的加减?
我仔细点说一下,我现在有张库存表,记录的是最新的货品库存数,就是货品名和数量,至少一
千条记录,入库出库我另外有两张表格记录流水帐。我就是要查历史库存数,我不是问SQL语句,
我问的是,能否使用一种新的数据库结构,有个优化,有没有好的解决方法。
 
把它写成视图不行吗?
 
变动表: 货品代号 货品变动标识 变动时间 变动量
货品信息表: 货品代号 货品名称 其他信息
货品变动标识表: 标识 名称
比如 I 进
O 出
 
其实taninsh的解决方法已经可以了。因为你的数据库所运行的机器应该还是相对强大的,
电脑速度还是可以的。
如果不满意,你可以用再设置表,其中的数据为没一天的库存量。
然后用每天往里填每天的库存量。这样就不慢了。如果要求精度高一些,就没个小时填一次。
一年下来也才24*365条记录,不算什么的。
 
to twos:
你说的变动表,如果我一百种货品每天每种总共进出2次,一天会增加多少东西?事实上,
每天流量远比这个多。
 
to sentiment:
要是机器性能好我才不会笨到要浪费它的作用苦了自己的脑袋。这就是“穷人孩子早当家”,
想想可能性还是小啊。一千种货品,一天就是一千条,一年就是1000*365,这样下去,人命
是不会出的,机器吃不了这么多的。(我不是一种货品啊,N多个啊!)
 
后退
顶部