我将简化我的实际情况。
情况:
有多条曲线它们经过一些点,每个点都有最终的1个点。在数据库中,曲线的最终点表示为最大的point_order值。
应该找到通过特定点并具有相同终点(相同的point_id)的曲线。
情况(表):
点表:
point_id|x|y
编辑:
curve_points表示例 - 查找所有具有相同point_id=80和相同终点的曲线:
id|curve_id|point_id|point_order
|119 |6 |12
|119 |80 |9
|119 |1000 |1
|76 |80 |7
|76 |6 |9
|76 |2 |2
|90 |80 |7
|90 |6 |9
|90 |99 |15
输出结果应为:
|curve_id|
|119 |
|76 |
因为曲线119,76有相同的终点=6,并且有相同的80点。曲线90不行,因为点6不是它的终点。
伪代码函数 - 需要添加代码以选择相同的终点:
function findCurvesForSamePointAndSameFinalPoint(pointID){
query="SELECT curve_id FROM curve INNER JOIN point GROUP BY curve_id HAVING point_id="+pointID+";";
return getDATABASEResult(query);
}
编辑2:
在线SQL,带有一些测试数据:http://sqlfiddle.com/#!2/59e9f/1(那里现有的查询不起作用)。
谢谢。