Database Postgres执行多表数据比较

Database Postgres执行多表数据比较,database,postgresql-9.4,Database,Postgresql 9.4,我在Postgres DB中有以下表格结构: 表格区域: id - int, PK name - varchar 表2区域边界 id - int, PK zone_id - FK (zones.id), boundary - polygon 台式车 id - int, PK vehicle_registration - varchar 表1车辆日志 id - int, PK vehicle_id - int, FK (vehicles.id) latitude - float longit

我在Postgres DB中有以下表格结构:

表格区域:

id - int, PK
name - varchar
表2区域边界

id - int, PK
zone_id - FK (zones.id),
boundary - polygon
台式车

id - int, PK
vehicle_registration - varchar
表1车辆日志

id - int, PK
vehicle_id - int, FK (vehicles.id)
latitude - float
longitude - float
分区边界表中的“边界”列将分区id指定的分区的纬度/经度坐标保存为多边形数据


现在,我想在select语句的zone_Bounders表中获得其lat/lng坐标位于分区边界内的所有车辆的数量。如何编写此查询?

要获得此一个通行证将非常困难。首先,您需要转换纬度和经度,例如:

ST_GeometryFromText('POINT(x y)');
之后,您可以使用ST_相交。St_Intersects将返回两个几何图形是否相交。或者,您可以使用ST_CONTAINS