[求助]问个关于表查询方面的问题?

[复制链接]
查看11 | 回复4 | 2007-10-20 08:38:44 | 显示全部楼层 |阅读模式
问题如下:
假设有2张表,存有一条xx公路,分2张表存:
1号:
长度宽度材料
1000 30水泥
2号:
长度宽度材料
80030 水泥
如何能够当选择查看XX公路时显示为:
长度宽度材料
1800 30水泥
是建个关系表,还是直接查,还是用程序做?
最好能在数据库内完成。
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
select sum(长度),宽度,材料
from 公路表
where 公路号='XX'
group by 宽度,材料
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
selectsum(a.长度)+sum(b. 长度),a.宽度,a.材料
from 1号表 a,2号表 b
where a.公路号=b.公路号
group by a.宽度,a.材料;
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
鉴于可能会有只存在一张表里的公路;如果没有长度和材料不一样的公路,建议:
select sum(长度) 长度, Max(宽度) 宽度, Max(材料) 材料
from (select 公路号,长度,宽度,材料 from 1号表 union select 公路号,长度,宽度,材料 from 2号表)
where a.公路号='xx'
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
谢谢楼上的,我这只是举个例子,其实我想问的是在一幅地图存入数据库,假设分成4块存入,我既可以单独查每一块的某个实体情况,又可以直接查总的地图全部情况,就象最开始的路的情况差不多,感觉就是个逻辑连结数据库问题,不知道我说得明白不,哪位大虾帮助小弟一下,不盛感激~!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行