怎样联合查询数据库中跨表数据?向高手求助
最近碰到个棘手的问题。
比如说我想查询一下物品A的信息。而A物品在我的数据库表里占用四个表。
数据库名eilian;表goods中存放MatId(物品ID),MatQty(数量),MatUnitId(计量单位ID),MatSortId(物品类别ID),MatHouseId(库房id)五个键值,表goodsname中存放MatId,MatName两个键值,表goodsunit中存放MatUnitId极其此UnitId对应的UnitName(计量单位,如“千克”),表goodssort中存放MatSortId和MatSortName(物品类别名称)。
例如我的表的结构是这样的:
goods:
MatId MatQty MatUnitId MatSortId MatHouseId
1 30 1 1 2
2 23 2 1 1
3 34 2 2 2
4 40 1 2 1
goodsname:
MatId MatName
1 香肠
2 火腿
3 橘子
4 水蜜桃
goodsunit:
MatUnitId UnitName
1 吨
2 千克
goodssort:
MatSortId MatSortName
1 食物
2 水果
那么,我想实现一个查询,比如说查询1号库的东西,查询结果能按照如下显示:
MatId MatName MatQty MatUnitName MatSortName
2 火腿 34 千克 食物
4 水蜜桃 40 吨 水果
请高手指教我该如何做,万分感谢!!!
问题点数:50、回复次数:3Top
1 楼xluzhong(Ralph)回复于 2005-06-04 15:31:23 得分 0
select a.matid,b.matname,a.matqty,c.unitname,d.matsortname
from goods a
inner join goodsname b on a.matid=b.matid
inner join goodsunit c on a.matunitid=c.matunitid
inner join goodssort d on a.matsortid=d.matsortidTop
2 楼xluzhong(Ralph)回复于 2005-06-04 15:32:01 得分 30
--忘了写条件
select a.matid,b.matname,a.matqty,c.unitname,d.matsortname
from goods a
inner join goodsname b on a.matid=b.matid
inner join goodsunit c on a.matunitid=c.matunitid
inner join goodssort d on a.matsortid=d.matsortid
where MatHouseId='1'Top
3 楼xiaomeixiang(小山羊:))回复于 2005-06-04 15:34:06 得分 20
select a.MatId,b.MatName,a.MatQty,c.UnitName MatUnitName ,d.MatSortName from
goods a,goodsname b,goodsunit c,goodssort d
where a.MatId=b.MatId and a.MatUnitId=c.MatUnitId and a.MatSortId=d.MatSortId and a.MatHouseId=1Top




