select * from inventory, goods, size, brand
  where inventory.goods_id=goods.goods_id
    and goods.goods_size=size.id
    and goods.goods_brand=brand.id

解决方案 »

  1.   

    只要找出表与表之间的关系,对应表关系,不是难事,关键是你sql基础牢不牢。
      

  2.   

    xuzuning兄,你没考虑到level表。
      

  3.   


    select * from inventory, goods, size, brand, level
      where inventory.goods_id=goods.goods_id
        and goods.goods_size=size.id
        and goods.goods_brand=brand.id
        and inventory.goods_level=level.id
      

  4.   

    zy205817兄,按你写的执行报错了,说:
    #1054-
    unknow column inventory.goods_levle in where clause
      

  5.   

    确定表inventory有这个字段goods_level
      

  6.   

    给你一个复杂点的...
    给你解释一下...分成两部分,第一个是先组成一个临时表为c,这个表是查询你的goods表然后左连接到你的size表跟brand表.
    然后查询你的inventory表再左连接上面的c表跟level表...
    select a.id,a.supplier,a.warehouse_id,b.level,c.goods_name,c.size,c.brand from inventory as a left join level as b on a.goods_level = b.id left join (select a.goods_id as goods_id, a.goods_name as goods_name,b.brand as brand,c.size as size from goods as a left join brand as b on a.goods_brand=b.id left join size as c on a.goods_size=c.id) as c on a.goods_id=c.goods_id
      

  7.   

    谢谢leungigi的解答!解释很到位,一看就明白了,你一定是个良师益友!