如何创建提取最小和最大 XY 坐标的视图



我正在尝试创建一个显示郊区名称,ssc代码以及最小和最大XY的视图。当前代码给了我所有的坐标,但我不知道如何调整它以选择最小值和最大值而不会出错。

CREATE  VIEW V_SUBURBBOUNDS AS
SELECT s.suburb_id, s.ssc_code, s.suburb, v.arc_id, v.x_coord, v.y_coord
FROM SUBURB_ATTRIBUTE s,
SUBURB_VERTEX v,
SUBURB_ARC a
WHERE a.arc_id=v.arc_id
OR a.left_poly=s.suburb_id
OR a.right_poly=s.suburb_id

我是否需要联接到该特定表才能提取它们?

你需要 aggreation 函数和分组依据

CREATE  VIEW V_SUBURBBOUNDS AS
SELECT s.suburb_id, s.ssc_code, s.suburb, v.arc_id
, min(v.x_coord) min_x, min(v.y_coord) min_y
, max(v.x_coord) max_x, max(v.y_coord) max_y
FROM  SUBURB_ARC a
INNER JOIN SUBURB_ATTRIBUTE s ON ( a.left_poly=s.suburb_id  OR a.right_poly=s.suburb_id)
INNER JOIN SUBURB_VERTEX v ON a.arc_id=v.arc_id
GROUP BY s.suburb_id, s.ssc_code, s.suburb, v.arc_id

并且您应该显式 JOIN 语法(而不是基于 where 的旧隐式连接语法)

最新更新