当前位置: 代码迷 >> Sql Server >> 5个表的连接查询解决方案
  详细解决方案

5个表的连接查询解决方案

热度:73   发布时间:2016-04-27 17:22:36.0
5个表的连接查询
5个表是关于厂商和商品的:
厂商的2个,一个是厂商类别表:factorytype;另一个是厂商明细表:factory; 显然,二表有主/外键对应,并都有各自的ID和name字段;商品的同原理,goodstype和goods;字段亦同,

还有一个是厂商商品对照表fac_goods.有fac_id对应着fatory的ID,good_id对应着goods的ID,

现在给一厂商的ID或商品的ID要查出厂商和商品各自的ID和name(包括厂商和商品类别的ID和name),请问这SQL如何写?另外子查询可以不,如果可以那哪种比较好一些......

------解决方案--------------------
SQL code
select     *from     fac_goods  ajoin    factory  b on a.fac_id =b.IDjoin    goods c on b.good_id=c.IDjoin    factorytype  d on d.ID=b.factorytypeID--主/外键对应 IDjoin    goodstype  e on e.ID=c.goodstypeID--主/外键对应 ID where    fac_id =''--条件or    good_id =''--条件
------解决方案--------------------
select a.fac_id,--厂商id
ba.name,--厂商名称
ba.typeid,
bb.name,--厂商类别名称
a.good_id,--商品id
ca.name, --商品名称
ca.typeid,
cb.name --商品类别名称
from fac_goods a,factory ba,factorytype bb,
goods ca,goodstype cb
where a.fac_id=ba.id 
and ba.typeid=bb.id --ba.typeid 为factory中的厂商类别id字段 
and a.good_id=ca.id
and ca.typeid=cb.id --ca.typeid为goods表中商品类别字段
  相关解决方案