举个例子:()
有库存  和  货物 
库存里面有多种货物,货物里面有多种类型物品,每个货物都有自己唯一的出厂ID库存Id   库存类型    货物名称    货物型号   货物出厂Id
  1          1       大侠1号      类型1       123456
  2          1       大侠1号      类型1       245875
  3          1       大侠2号      类型1       12345
  4          1       大侠2号      类型2       65464
  5          2       大侠3号      类型4       321654
  6          2       大侠4号      类型3       869445一个库存类型可以对应多个货物名称(如同电器对应笔记本),一个货物名称也是对应多个型号(如同一台笔记本有多个牌子或者多种配置),但是每一台笔记本都有自己的出厂Id.
要求:
数据库应该怎么设计才最好啊?
要是在一张表里面
查库存的时候,每种库存类型的库存里面货物名称相同且型号的就只返回一条记录,应该怎么写啊?

解决方案 »

  1.   

    汇总可以返回一条。
    select 库存类型,货物名称,count(1) from
     Inventory
    group by 库存类型,货物名称
    不过最好用ID的
      

  2.   


    表的设计1两句话讲不了select * from tb t
    where not exists(select * from tb where 
    库存类型=t.库存类型 and 货物名称=t.货物名称 and 货物型号=t.货物型号 and 货物出厂Id>t.货物出厂Id )
    找出同意型号,id最大的
      

  3.   

    库存类型表
    类型id   类型名称
    产品表
    产品id  产品名称产品类型表
    产品id(产品表建立主外键约束)  产品类型名称   产品出厂id库存表
    库存id  库存类型(同库存类型表建立主外键约束) 产品id(同产品表建立主外键约束) 货物类型(同货物类型表建立主外键约束)