读书人

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

发布时间: 2012-02-19 19:43:39 作者: rapoo

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表中商品类别字段

读书人网 >SQL Server

热点推荐