create table 入库表
(
 商品类别 varchar(10),
 商品编号 varchar(10),
 商品名称 varchar(20),
 商品规格 varchar(20),
 商品单位 varchar(20),
 商品单价 decimal(9,2),
 入库数量 int,
 入库日期 datetime,
 入库批次号 varchar(10) primary key
)
insert into 入库表 select'食品','01','牛奶','250ml','袋',2.50,100,'2006-1-1','0001'
insert into 入库表 select'食品','01','牛奶','250ml','袋',3.00,200,'2006-1-1','0002'
insert into 入库表 select'食品','01','牛奶','500ml','袋',5.00,200,'2006-1-2','0003'
insert into 入库表 select'食品','02','蛋糕','250mm','盒',45.00,100,'2006-1-3','0004'
insert into 入库表 select'食品','02','蛋糕','250mm','盒',50.00,100,'2006-1-3','0005'
-----------------------------------------------------------------------------------------create table 出库表
(
 商品类别 varchar(10),
 商品编号 varchar(10),
 商品名称 varchar(20),
 商品规格 varchar(20),
 商品单位 varchar(20),
 商品单价 decimal(9,2),
 出库数量 int,
 出库日期 datetime,
 出库批次号 varchar(10) primary key
)
------------------------------------------------------------------------------------------
create table 库存表
(
 商品类别 varchar(10),
 商品编号 varchar(10),
 商品名称 varchar(20),
 商品规格 varchar(20),
 商品单位 varchar(20),
 商品单价 decimal(9,2),
 库存数量 int,
 日期 datetime
)
drop table 入库表
drop table 出库表
drop table 库存表
--------------------------------------------------------------------------------------------
/*
说明:
入库表:商品入库操作
出库表:商品出库操作,在出库的时候要以商品的类别,名称,规格,单价为基准,按照商品的批次号的升序排序
进行出库(其实就是先进先出),批次号是自动递增的。
库存表:记录每一笔出入库的动作。例如,入库表中入库一笔数据,那么相应的在库存表中也增加一笔入库数据
这里的库存数量是指库存的结余数量(即入库数-出库数)问题:
我怎样才能在出库表中实现“先进先出”的操作
*/

解决方案 »

  1.   

    sdhylj(青锋--SS) 
    ---------------------------------------------------按照入库表的批次号出库可以吗。
      

  2.   

    playwarcraft(时间就像乳沟,挤挤还是有的)
    -------------------------------------------
    是数据库结构有问题?怎样改才合理?
      

  3.   

    caixia615(┌睜眼為殤.2ǒǒ6.閉眼為塵┐) (
    -------------------------------------------
    入库批次号是自动递增的。
    例如:第一笔为001,第二笔为002。以此类推。
      

  4.   

    理論上,應該這麼:
    insert into 入库表 select'食品','01','牛奶','250ml','袋',2.50,100,'2006-1-2','0001'
    insert into 入库表 select'食品','01','牛奶','250ml','袋',3.00,50,'2006-1-2','0002'
    可是這樣看來,批次不同就變成不是一次出伙的了,(批次是key)
    另外,我覺得出貨價格 和 進貨價格 應該是不同的概念吧...
      

  5.   

    playwarcraft(时间就像乳沟,挤挤还是有的) 
    --------------------------------------
    批次是primary key进货价和出货价应该是不同的概念。因为如果2006-1-2要出货250ml的牛奶150袋,那只能把批次好为001的100袋先出库,在出批次号为002的50袋
    -------------------------------------------------------------
    我想数据库结构可能有问题,怎样改呢
      

  6.   

    这样的表结构好像不行的。
    假设我现在库存中有两批牛奶:
    insert into 入库表 select'食品','01','牛奶','250ml','袋',2.50,100,'2006-1-1','0001'
    insert into 入库表 select'食品','01','牛奶','250ml','袋',3.00,200,'2006-1-2','0002'
    第一批是2006-01-01入库的,100袋。第二批是2006-01-02入库的,200袋。
    现在我要出库10袋,应该取第一批入库的,这一批还剩下90袋。
    然后我要出库100袋,应该取第一批剩下的90袋,再从第二批取10袋。问题在于,“这一批还剩下90袋”这个信息记录在哪里?
      

  7.   

    create table 入库表
    (
    商品类别 varchar(10),
    商品编号 varchar(10),
    商品名称 varchar(20),
    商品规格 varchar(20),
    商品单位 varchar(20),
    商品单价 decimal(9,2),
    入库数量 int,     //或直接修改改数,但是,这样不好!
    入库当前数量 int,//记录当前批次库存!
    入库日期 datetime,
    入库批次号 varchar(10) primary key
    )
      

  8.   

    數據結構設計要看需求的,
    或許,把出庫表改改?(個人意見,至少這樣算"先進先出"比較好算)create table 出庫表(
       出庫批次 varchar(10),    
       商品类别 varchar(10),
       商品编号 varchar(10),
       商品名称 varchar(20),
       商品规格 varchar(20),
       商品单位 varchar(20),
       出庫價格 decimal(9,2),
       出庫日期 datetime,
       入庫批次 varchar(10),
       該批次出貨數量 int)
      

  9.   

    create table 库存表
    (
     商品类别 varchar(10),
     商品编号 varchar(10),
     商品名称 varchar(20),
     商品规格 varchar(20),
     商品单位 varchar(20),
     商品单价 decimal(9,2),
     --库存数量 int,
     入库时间 datetime,
     入库批次号 
     批次原始数量
     批次剩余数量 
    )出库表
    (
     商品类别 varchar(10),
     商品编号 varchar(10),
     商品名称 varchar(20),
     商品规格 varchar(20),
     商品单位 varchar(20),
     商品单价 decimal(9,2),
     入库批次号,
     出库批次号,
     出库数量
    )
      

  10.   

    bugchen888(臭虫)
    -----------------------------
    批次原始数量
    批次剩余数量 该怎样解释?
      

  11.   

    增加,ServerDate,getdate()
    就可
      

  12.   

    wanjun_001() 
    -----------------------------bugchen888(臭虫)
    -----------------------------
    批次原始数量
    批次剩余数量 该怎样解释?入库的时候,入库批次: 批次原始数量=批次剩余数量=批次入库数量
    批次原始数量不会发生改变.
    批次剩余数量会在每次出库的时候发生更改,如果出库的时候选择出库的产品是这个入库批次的产品,那么就把对应的入库批次: 剩余数量=剩余数量-出库数量.