求多表嵌套查询sql语句

一个查询语句:关联3张表
某个字段 FName 可以先通过物料代码 FCode 在 t_ICItemCore t1 中查到物料的内码 FItemID,再在t_ICItemBase t2中通过内码FItemID查到单位组的内码FUnitID。在 t_MeasureUnit t3这张表中,通过单位的内码 FUnitID(FUnitID对应这张表中的FMeasureUnitID)找到对应的名称FName

并且显示出t1 中的 字段FName FNumber
t3 中的字段 FName FNumber

楼主,叙述清楚你的问题是你自己的责任,如果连别都读不懂你的叙述,还怎么帮你?内码内码,看了大半天,感情是主属性或称主码(关系),或称主关键字,或关键字(表).学过E-R模型设计的话,不应该这么不标准的叙述问题的.

大概理解了你的意思,是三张一对多表,是吧?

select t1.Fname,t1.fnumber,t3.fname,t3.fnumber from t1 join t2 on t1.fitemid = t2.fitemid, t2 join t3 on t2.funitid = t3.fmeasureunitid
where fcode = '你自己的code'
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-09-09
select t1.FName,t1.FNumber,t3.FName,t3.FNumber ftom t_ICItemCore t1 join t_ICItemBase t2 t1.FItemID=t2.FItemID join t_MeasureUnit t3 on t2.FUnitID=t3.FMeasureUnitID
第2个回答  2010-09-09
用left join 具体怎么用这里说不清楚,你去百度查下相关资料把
第3个回答  2010-09-09
SELECT t1.FName, t1.FNumber, t3.FName, t3.FNumber
FROM t_ICItemCore t1, t_MeasureUnit t3
WHERE t1.FCode = xxxx
AND t3.FMeasureUnitID = (SELECT FUnitID FROM t_ICItemBase WHERE FItemID = t1.FItemID)
相似回答