我让我的真实案例更简单。
案子:
有多条曲线,它们以点的形式传递,每条曲线都有最后的 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 不是他的终点
psedocode 函数 -需要添加代码以选择相同的最终点:
function findCurvesForSamePointAndSameFinalPoint(pointID){
query="SELECT curve_id FROM curve INNER JOIN point GROUP BY curve_id HAVING point_id="+pointID+";";
return getDATABASEResult(query);
}
Edit2:在线 sql 与一些数据进行测试:http ://sqlfiddle.com/#!2/59e9f/1 (那里的现有查询不起作用)
谢谢