在SQL中存储点是否位于多边形中的结果

在SQL中存储点是否位于多边形中的结果,sql,sql-server,tsql,Sql,Sql Server,Tsql,我需要确定PointTable中的几何体点是否位于存储在PolyGatable中的多边形内。这两个表通过Id链接。我需要查询检查两个表中Id相等的每个xy点。我想将结果(如果点位于多边形中)存储在表格中,几何体点位于新列IsInBox1和IsInBox2下。我想我需要使用的函数是STContains。我已经将这两个表说明为PolyGatable和PointTable。我用单词polygon表示实际的多边形数据,用字母xy表示点数据 多语的 身份证件 框1 框2 1. 多边形 多边形 2. 多边形

我需要确定PointTable中的几何体点是否位于存储在PolyGatable中的多边形内。这两个表通过Id链接。我需要查询检查两个表中Id相等的每个xy点。我想将结果(如果点位于多边形中)存储在表格中,几何体点位于新列IsInBox1和IsInBox2下。我想我需要使用的函数是STContains。我已经将这两个表说明为PolyGatable和PointTable。我用单词polygon表示实际的多边形数据,用字母xy表示点数据

多语的

身份证件 框1 框2 1. 多边形 多边形 2. 多边形 多边形
我想你想要这样的东西:

SELECT
    PointTable.Id,
    PointTable.RowId,
    PointTable.XY,
    PolygonTable.Box1.STContains(PointTable.XY),
    PolygonTable.Box2.STContains(PointTable.XY)
FROM PolygonTable
INNER JOIN PointTable ON PointTable.Id=PolygonTable.Id
这是假设您希望根据Id列匹配这两个表


在这种情况下,STContains在时间上通过一个点,并返回一个位-true/false-is In/is not。

根据问题指南,请说明您尝试了什么,并告诉我们您发现了什么(在本网站或其他地方),以及为什么它不能满足您的需要。我添加了一些我尝试的代码。这不管用,我想从头开始可能更容易。