日期:2014-05-18  浏览次数:20438 次

关于sql查询的建议和方法
我想做个车辆运行的统计!想实现效果是这样的a省到b省 计算行车里程
但是我只记录了a省到b省途径的市名
比如从a省的a1市到b省的b3市中间要经过a2市a3市和b1市
然后市与市之间的里程也是知道的 比如a1-a2是11公里 a2到a3是7公里 a3到b1是21公里
我要计算整个行程的里程 要怎么设计数据库呢
还有就是 我下次不到b1市了 只到a3这样的
然后我现在设计的表是这样的 有个线路表 和一个里程表
线路表如下:
id 线路名
1 线路1
2 线路2
...

里程表如下
lcid 始发 到站 里程 所属线路
1 a1 a2 11 1
2 a2 a3 7 1
3 a3 b1 21 1
...
类似我这样是不是可以?
如果可以的话我要计算a1到b1的里程
是不是要查a1-a2,a2-a3,a3-b1然后将11、7、21相加这样呢?
像这样短途还好 长途的话 不是要一直访问数据库吗?有没有好办法?无论改表结构还是什么都可以

------解决方案--------------------
可以有途经的说明,但最好一条线路一条记录,否则有一个比较麻烦的算法.
------解决方案--------------------
建议新增一个公路信息表, 如有新增公路, 只要新增一笔记录即可, 供所有线路一起使用.

另: 出行线路建议通过AI算法由程序自动算出来, 不过这个就不是单纯的数据库问题咯.
------解决方案--------------------
探讨
我想做个车辆运行的统计!想实现效果是这样的a省到b省 计算行车里程
但是我只记录了a省到b省途径的市名
比如从a省的a1市到b省的b3市中间要经过a2市a3市和b1市
然后市与市之间的里程也是知道的 比如a1-a2是11公里 a2到a3是7公里 a3到b1是21公里
我要计算整个行程的里程 要怎么设计数据库呢
还有就是 我下次不到b1市了 只到a3这样的
然后我现在设计的表是这样的 有……