在mysql中我想建立两个表,一个shop表一个存储每个商店的基本信息,比喻商店的ID号,商店名称,商店地址什么的,但是商店所卖的产品很多,所以想建立一个items关联表专门来存放每个商店的商品信息,这个表有商品名称,商品编号,关联商店的ID号等信息...但是这样存储的话 每次打开一个商店就需要搜索若干次items表,有什么好的结构来建立这种表,本人很菜鸟 勿喷。求大神指导....在线等.

解决方案 »

  1.   

    这个是一对多的关系呀   根据商店id就能查出该商店下所有的items   为什么要探索若干次?
      

  2.   

    类似下面,简单的写了下。
    -- 商店表
    create table shop (
    ID int ,
    SName varchar(50),
    Address varchar(300)
    );--  商品表
    create table items (
    ID int ,
    IName varchar(50)
    );
    -- 关系表
    create table shop_items (
    ID int ,
    ShopID int,
    ItemsID int
    );
    -- 查询所有信息
    select a.*,b.* from shop a ,items b , shop_items c
    where a.ID = c.ShopID and b.ID = c.ItemsID;-- 根据商店 找商品select b.* from items b , shop_items c
    where b.ID = c.ItemsID and c.ShopID=1; -- 1=shop编号-- 根据商品 找商店
    select a.* from shop a , shop_items c
    where a.ID = c.ShopID and c.ItemsID=1; -- 1=items编号