在PostgreSQL 8.4中,我想创建一个带有id的三个表的视图。因此,我想在我的视图中拥有以下结构:
我可以从表中选择
num serial,
name_dispatcher character varying(250)
the_geom geometry
我可以从表中选择
name_dispatcher
和the_geom
。 CREATE VIEW lineView
AS SELECT 'name' AS name_dispatcher, the_geom
FROM line1
UNION
SELECT 'name' AS name_dispatcher, the_geom
FROM line2
UNION
SELECT 'name' AS name_dispatcher, the_geom
FROM line3
如何在视图中创建num
列?
更新
我找到了一个解决方案:
ROW_NUMBER() OVER(ORDER BY lineView.voltage)
但是我不知道如何在ALTER VIEW
中使用它。我该如何将其放入其中?
UNION
操作可能会很耗费资源,因为它会消除重复项。如果你确定最终结果中不会有重复项,或者你可以接受存在重复项的情况,那么切换到UNION ALL
可能会更有益处。 - Damien_The_Unbeliever