有个库存表,表应该有的信息是 零件号,零件数量,零件使用位置等主要是这些,
但是零件位置有可能是好几个位置都可以用这个零件,但是数量就这么多,我在表里应该怎么去存这些信息呢举个例子:
partname qty position
P1 5 A,B,C (A,B,C三个位置都可以用这个零件)
P1 3 B,C,D (B,C,D三个位置都可以用这个零件) 如果要出零件P1, 使用位置是B的,那我库存怎么扣呢,这个库存的表结构怎么去定义呢?我是新手,请高手帮帮忙!急!
但是零件位置有可能是好几个位置都可以用这个零件,但是数量就这么多,我在表里应该怎么去存这些信息呢举个例子:
partname qty position
P1 5 A,B,C (A,B,C三个位置都可以用这个零件)
P1 3 B,C,D (B,C,D三个位置都可以用这个零件) 如果要出零件P1, 使用位置是B的,那我库存怎么扣呢,这个库存的表结构怎么去定义呢?我是新手,请高手帮帮忙!急!
partname qty position
P1 5 A,B,C (A,B,C三个位置都可以用这个零件)
P1 3 B,C,D (B,C,D三个位置都可以用这个零件) 怎么会有2个P1??
partname position qty
P1 A 2
P1 B 3
用sum求P1总个数
建立两个表
表一partid 主键
partid partname qty
0001 p1 5
0002 p2 3表二
partid position
0001 A
0001 B
0002 A
0002 C
表一partid 主键
partid partname qty
0001 p1 5
0002 p1 3 表二
partid position
0001 A
0001 B
0001 C
0002 B
0002 C
0002 D
P1 5 A,B,C (A,B,C三个位置都可以用这个零件)
P1 3 B,C,D (B,C,D三个位置都可以用这个零件) 你为什么相同一个P1 都再B,C部门用 那要分开呢??
你举的例子就有问题啊
P1 1 A
P1 22 B
P2 4 B
P3 9 A
P3 12 CSELECT partname,SUM(qty)FROM PT 查库存
SELECT * FROM PT WHERE partname="P1" 查位置
UPDATE PT SET qty=20 WHERE partname="P1" AND position="B" 出库(剩余数量自己应该会处理啥)
按照你写的
P1 1 A
P1 22 B
是不合理的 p1可以用的位置是A或者B,你就不能简单的理解为使用位置A的P1有1个,应该是这23个P1在A,B都可以去使用,这才是正解!所以你想的太简单化了!
不过还是谢谢你!
……
好像表少了
零件虽是一样,却因收到得前后不一样,应该对每批零件进行编号区别,这样数据库操作就简单了
入库单据表
表一 listid 主键
listid partname qty
0001 p1 5
0002 p1 3 表二
partid position
0001 A
0001 B
0001 C
0002 B
0002 C
0002 D 表一是入库单的表 表二对应每批零件用的部门
算库存就是入库表的合计