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