我有一个表,其中包含许多使用地理多边形映射的位置
然后我有另一个表,其属性的位置是“地理”属性
如果我使用此代码,我会获得特定位置的属性数量:
class C : public B
{
public:
int action(std::vector<float>) override
{
A::action(std::vector<float>());
return 7;
}
};
但问题是我知道每个位置有多少属性(我的查询中使用的多边形来自位置表)
表之间唯一的连接是位置点
我真的需要一些帮助
修改
感谢Ben,我终于开始工作,这里的代码对我有用:)
SELECT COUNT(id) FROM Property
WHERE [Status] = 1
AND Location.Filter(Geography::Parse('POLYGON ((8.476 40.2591,8.4618 40.241,8.4787 40.2403,8.4851 40.2539,8.476 40.2591))')) = 1
答案 0 :(得分:1)
这样的事情应该有效:
SELECT l.LocationID, count(*)
FROM dbo.Location as l
JOIN dbo.Property as p
on l.geoColumn.STContains(p.Location) = 1
我在Location
表上假设一个类似于
create table dbo.Location (
LocationID int,
geoColumn geography,
…
)