日期:2014-05-17  浏览次数:20771 次

【oracle】查询语句
假设有A表
id,point1,point2
 1,  10    10.2 

B表
id,point1,pontin2,seq(排序)
1 , 11.1 ,222.1  ,1
2 , 112.1 ,1212.1  , 2
3 , 121.1 ,222.1  ,3
4 , 31.1 ,222.1  ,4
5 , 133 ,122  , 5
6 , 211 ,22121  ,6
7 , 1121.1 ,222.1  ,7


求A表中的点 位于B表中那两点之间或者位于哪个点上 返回ID

------解决方案--------------------
A表point1,point2用来确定一个点
B表是按SEQ顺序来把点连接起来的一条曲线?
然后求A是否是在这条曲线上,对么?
------解决方案--------------------
好有挑战
数学都来了
------解决方案--------------------
 楼主给的例子,应该返回的结果是啥
------解决方案--------------------
如果是xy坐标轴的话
1判断a表中的点在b表中是否存在,存在返回结果标志
2不存在判断a表中的point1在b表中的范围
 >1a表中的point1小于b表中的point1的最小的,比较a、b表中的point2,返回结果
 >2a表中的point1大于b表中的point1的最大的,比较a、b表中的point2,返回结果
 >3a表中的point1在b表中的point1的范围内,
  获取b.point1-a.point1>0最小的点及b.point1-a.point1<0最大的点,
  通过两个点获取斜率k,比较a.point1*k和a.point2,返回结果
------解决方案--------------------
求你的程序 是什么样的